Changeset 231852 in webkit
- Timestamp:
- May 16, 2018 10:50:38 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r231843 r231852 1 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [Win] Use C++17 in MSVC 4 https://bugs.webkit.org/show_bug.cgi?id=185232 5 6 Reviewed by Alex Christensen. 7 8 Use /std:c++17 option. 9 10 * Source/cmake/OptionsMSVC.cmake: 11 1 12 2018-05-16 Alberto Garcia <berto@igalia.com> 2 13 -
trunk/Source/ThirdParty/ChangeLog
r231661 r231852 1 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [Win] Use C++17 in MSVC 4 https://bugs.webkit.org/show_bug.cgi?id=185232 5 6 Reviewed by Alex Christensen. 7 8 Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC. 9 In a subsequent patch, we will upgrade gtest too. 10 11 * gtest/include/gtest/internal/gtest-param-util-generated.h: 12 (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const): 13 (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const): 14 (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const): 15 (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const): 16 (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const): 17 (testing::internal::CartesianProductHolder7:: const): 18 (testing::internal::CartesianProductHolder8:: const): 19 (testing::internal::CartesianProductHolder9:: const): 20 (testing::internal::CartesianProductHolder10:: const): 21 (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted. 22 (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted. 23 (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted. 24 (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted. 25 (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted. 26 * gtest/include/gtest/internal/gtest-tuple.h: 27 1 28 2018-05-10 Michael Catanzaro <mcatanzaro@igalia.com> 2 29 -
trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h
r95901 r231852 39 39 // googletestframework@googlegroups.com if you need more. 40 40 // Please note that the number of arguments to Combine is limited 41 // by the maximum arity of the implementation of t r1::tuple which is41 // by the maximum arity of the implementation of tuple which is 42 42 // currently set at 10. 43 43 … … 2835 2835 template <typename T1, typename T2> 2836 2836 class CartesianProductGenerator2 2837 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2> > {2838 public: 2839 typedef ::std::t r1::tuple<T1, T2> ParamType;2837 : public ParamGeneratorInterface< ::std::tuple<T1, T2> > { 2838 public: 2839 typedef ::std::tuple<T1, T2> ParamType; 2840 2840 2841 2841 CartesianProductGenerator2(const ParamGenerator<T1>& g1, … … 2950 2950 template <typename T1, typename T2, typename T3> 2951 2951 class CartesianProductGenerator3 2952 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3> > {2953 public: 2954 typedef ::std::t r1::tuple<T1, T2, T3> ParamType;2952 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3> > { 2953 public: 2954 typedef ::std::tuple<T1, T2, T3> ParamType; 2955 2955 2956 2956 CartesianProductGenerator3(const ParamGenerator<T1>& g1, … … 3082 3082 template <typename T1, typename T2, typename T3, typename T4> 3083 3083 class CartesianProductGenerator4 3084 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4> > {3085 public: 3086 typedef ::std::t r1::tuple<T1, T2, T3, T4> ParamType;3084 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4> > { 3085 public: 3086 typedef ::std::tuple<T1, T2, T3, T4> ParamType; 3087 3087 3088 3088 CartesianProductGenerator4(const ParamGenerator<T1>& g1, … … 3233 3233 template <typename T1, typename T2, typename T3, typename T4, typename T5> 3234 3234 class CartesianProductGenerator5 3235 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5> > {3236 public: 3237 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5> ParamType;3235 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5> > { 3236 public: 3237 typedef ::std::tuple<T1, T2, T3, T4, T5> ParamType; 3238 3238 3239 3239 CartesianProductGenerator5(const ParamGenerator<T1>& g1, … … 3401 3401 typename T6> 3402 3402 class CartesianProductGenerator6 3403 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5,3403 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, 3404 3404 T6> > { 3405 3405 public: 3406 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5, T6> ParamType;3406 typedef ::std::tuple<T1, T2, T3, T4, T5, T6> ParamType; 3407 3407 3408 3408 CartesianProductGenerator6(const ParamGenerator<T1>& g1, … … 3587 3587 typename T6, typename T7> 3588 3588 class CartesianProductGenerator7 3589 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6,3589 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, 3590 3590 T7> > { 3591 3591 public: 3592 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType;3592 typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType; 3593 3593 3594 3594 CartesianProductGenerator7(const ParamGenerator<T1>& g1, … … 3790 3790 typename T6, typename T7, typename T8> 3791 3791 class CartesianProductGenerator8 3792 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6,3792 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, 3793 3793 T7, T8> > { 3794 3794 public: 3795 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType;3795 typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType; 3796 3796 3797 3797 CartesianProductGenerator8(const ParamGenerator<T1>& g1, … … 4012 4012 typename T6, typename T7, typename T8, typename T9> 4013 4013 class CartesianProductGenerator9 4014 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6,4014 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, 4015 4015 T7, T8, T9> > { 4016 4016 public: 4017 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType;4017 typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType; 4018 4018 4019 4019 CartesianProductGenerator9(const ParamGenerator<T1>& g1, … … 4251 4251 typename T6, typename T7, typename T8, typename T9, typename T10> 4252 4252 class CartesianProductGenerator10 4253 : public ParamGeneratorInterface< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6,4253 : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, 4254 4254 T7, T8, T9, T10> > { 4255 4255 public: 4256 typedef ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType;4256 typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType; 4257 4257 4258 4258 CartesianProductGenerator10(const ParamGenerator<T1>& g1, … … 4516 4516 : g1_(g1), g2_(g2) {} 4517 4517 template <typename T1, typename T2> 4518 operator ParamGenerator< ::std::t r1::tuple<T1, T2> >() const {4519 return ParamGenerator< ::std::t r1::tuple<T1, T2> >(4518 operator ParamGenerator< ::std::tuple<T1, T2> >() const { 4519 return ParamGenerator< ::std::tuple<T1, T2> >( 4520 4520 new CartesianProductGenerator2<T1, T2>( 4521 4521 static_cast<ParamGenerator<T1> >(g1_), … … 4538 4538 : g1_(g1), g2_(g2), g3_(g3) {} 4539 4539 template <typename T1, typename T2, typename T3> 4540 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3> >() const {4541 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3> >(4540 operator ParamGenerator< ::std::tuple<T1, T2, T3> >() const { 4541 return ParamGenerator< ::std::tuple<T1, T2, T3> >( 4542 4542 new CartesianProductGenerator3<T1, T2, T3>( 4543 4543 static_cast<ParamGenerator<T1> >(g1_), … … 4563 4563 : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} 4564 4564 template <typename T1, typename T2, typename T3, typename T4> 4565 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4> >() const {4566 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4> >(4565 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> >() const { 4566 return ParamGenerator< ::std::tuple<T1, T2, T3, T4> >( 4567 4567 new CartesianProductGenerator4<T1, T2, T3, T4>( 4568 4568 static_cast<ParamGenerator<T1> >(g1_), … … 4590 4590 : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} 4591 4591 template <typename T1, typename T2, typename T3, typename T4, typename T5> 4592 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5> >() const {4593 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5> >(4592 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> >() const { 4593 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> >( 4594 4594 new CartesianProductGenerator5<T1, T2, T3, T4, T5>( 4595 4595 static_cast<ParamGenerator<T1> >(g1_), … … 4621 4621 template <typename T1, typename T2, typename T3, typename T4, typename T5, 4622 4622 typename T6> 4623 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6> >() const {4624 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6> >(4623 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> >() const { 4624 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> >( 4625 4625 new CartesianProductGenerator6<T1, T2, T3, T4, T5, T6>( 4626 4626 static_cast<ParamGenerator<T1> >(g1_), … … 4654 4654 template <typename T1, typename T2, typename T3, typename T4, typename T5, 4655 4655 typename T6, typename T7> 4656 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6,4656 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, 4657 4657 T7> >() const { 4658 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7> >(4658 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7> >( 4659 4659 new CartesianProductGenerator7<T1, T2, T3, T4, T5, T6, T7>( 4660 4660 static_cast<ParamGenerator<T1> >(g1_), … … 4692 4692 template <typename T1, typename T2, typename T3, typename T4, typename T5, 4693 4693 typename T6, typename T7, typename T8> 4694 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7,4694 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, 4695 4695 T8> >() const { 4696 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >(4696 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >( 4697 4697 new CartesianProductGenerator8<T1, T2, T3, T4, T5, T6, T7, T8>( 4698 4698 static_cast<ParamGenerator<T1> >(g1_), … … 4733 4733 template <typename T1, typename T2, typename T3, typename T4, typename T5, 4734 4734 typename T6, typename T7, typename T8, typename T9> 4735 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,4735 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, 4736 4736 T9> >() const { 4737 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,4737 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, 4738 4738 T9> >( 4739 4739 new CartesianProductGenerator9<T1, T2, T3, T4, T5, T6, T7, T8, T9>( … … 4777 4777 template <typename T1, typename T2, typename T3, typename T4, typename T5, 4778 4778 typename T6, typename T7, typename T8, typename T9, typename T10> 4779 operator ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,4779 operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, 4780 4780 T9, T10> >() const { 4781 return ParamGenerator< ::std::t r1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,4781 return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, 4782 4782 T9, T10> >( 4783 4783 new CartesianProductGenerator10<T1, T2, T3, T4, T5, T6, T7, T8, T9, -
trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h
r95901 r231852 913 913 static bool Eq(const Tuple1& t1, const Tuple2& t2) { 914 914 return SameSizeTuplePrefixComparator<k - 1, k - 1>::Eq(t1, t2) && 915 ::std:: tr1::get<k - 1>(t1) == ::std::tr1::get<k - 1>(t2);915 ::std::get<k - 1>(t1) == ::std::get<k - 1>(t2); 916 916 } 917 917 }; -
trunk/Source/WTF/ChangeLog
r231762 r231852 1 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [Win] Use C++17 in MSVC 4 https://bugs.webkit.org/show_bug.cgi?id=185232 5 6 Reviewed by Alex Christensen. 7 8 Disable some WebKit defined C++17 features for MSVC. 9 10 * wtf/StdLibExtras.h: 11 1 12 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 13 -
trunk/Source/WTF/wtf/StdLibExtras.h
r231753 r231852 546 546 // Provide in_place_t when not building with -std=c++17, or when building with libstdc++ 6 547 547 // (which doesn't define the _GLIBCXX_RELEASE macro that's been introduced in libstdc++ 7). 548 #if __cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))548 #if (__cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918) 549 549 550 550 // These are inline variable for C++17 and later. -
trunk/Source/WebCore/ChangeLog
r231849 r231852 1 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [Win] Use C++17 in MSVC 4 https://bugs.webkit.org/show_bug.cgi?id=185232 5 6 Reviewed by Alex Christensen. 7 8 Workaround for MSVC + /std:c++17. 9 10 * Modules/geolocation/Coordinates.h: 11 (WebCore::Coordinates::isolatedCopy const): 12 1 13 2018-05-16 Chris Nardi <cnardi@chromium.org> 2 14 -
trunk/Source/WebCore/Modules/geolocation/Coordinates.h
r223211 r231852 42 42 Ref<Coordinates> isolatedCopy() const 43 43 { 44 return Coordinates::create( GeolocationPosition { m_position });44 return Coordinates::create(GeolocationPosition(m_position)); 45 45 } 46 46 -
trunk/Source/cmake/OptionsMSVC.cmake
r225563 r231852 29 29 # Turn off certain link features 30 30 add_compile_options(/Gy- /openmp- /GF-) 31 32 # Enable C++17 33 # https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version 34 add_compile_options(/std:c++17) 31 35 32 36 # Specify the source code encoding -
trunk/Tools/ChangeLog
r231850 r231852 1 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 [Win] Use C++17 in MSVC 4 https://bugs.webkit.org/show_bug.cgi?id=185232 5 6 Reviewed by Alex Christensen. 7 8 Do not use `using namespace std;`. In C++17, we have std::byte. This "byte" 9 conflicts with ::byte defined in Windows' header. 10 11 * DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp: 12 (WindowedPluginTest::WindowedPluginTest): 13 * DumpRenderTree/win/AccessibilityControllerWin.cpp: 14 (logEventProc): 15 (stringEvent): 16 (AccessibilityController::winNotificationReceived): 17 * DumpRenderTree/win/TextInputController.cpp: 18 (markedRangeCallback): 19 (firstRectForCharacterRangeCallback): 20 (selectedRangeCallback): 21 * DumpRenderTree/win/TextInputController.h: 22 * DumpRenderTree/win/TextInputControllerWin.cpp: 23 (TextInputController::markedRange): 24 (TextInputController::firstRectForCharacterRange): 25 (TextInputController::selectedRange): 26 1 27 2018-05-16 Sihui Liu <sihui_liu@apple.com> 2 28 -
trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp
r86157 r231852 26 26 #include "WindowedPluginTest.h" 27 27 28 using namespace std;29 30 28 static const wchar_t instancePointerProperty[] = L"org.webkit.TestNetscapePlugin.WindowedPluginTest.InstancePointer"; 31 29 32 WindowedPluginTest::WindowedPluginTest(NPP npp, const st ring& identifier)30 WindowedPluginTest::WindowedPluginTest(NPP npp, const std::string& identifier) 33 31 : PluginTest(npp, identifier) 34 32 , m_window(0) -
trunk/Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp
r222194 r231852 43 43 #include <wtf/text/AtomicString.h> 44 44 45 using namespace std;46 47 45 AccessibilityController::AccessibilityController() 48 46 : m_focusEventHook(0) … … 190 188 hr = parentObject->get_accName(vChild, &nameBSTR.GetBSTR()); 191 189 ASSERT(SUCCEEDED(hr)); 192 wstring name(nameBSTR, nameBSTR.length());190 std::wstring name(nameBSTR, nameBSTR.length()); 193 191 194 192 switch (event) { … … 205 203 hr = parentObject->get_accValue(vChild, &valueBSTR.GetBSTR()); 206 204 ASSERT(SUCCEEDED(hr)); 207 wstring value(valueBSTR, valueBSTR.length());205 std::wstring value(valueBSTR, valueBSTR.length()); 208 206 209 207 fprintf(testResult, "Received value change event for object '%S', value '%S'.\n", name.c_str(), value.c_str()); … … 305 303 } 306 304 307 static st ring stringEvent(DWORD event)305 static std::string stringEvent(DWORD event) 308 306 { 309 307 switch(event) { … … 342 340 } 343 341 344 void AccessibilityController::winNotificationReceived(PlatformUIElement element, const st ring& eventName)342 void AccessibilityController::winNotificationReceived(PlatformUIElement element, const std::string& eventName) 345 343 { 346 344 for (auto& slot : m_notificationListeners) { -
trunk/Tools/DumpRenderTree/win/TextInputController.cpp
r185745 r231852 81 81 TextInputController* controller = static_cast<TextInputController*>(JSObjectGetPrivate(thisObject)); 82 82 if (controller) { 83 vector<int> range = controller->markedRange();83 std::vector<int> range = controller->markedRange(); 84 84 if (range.size() == 2) { 85 85 JSValueRef argumentsArrayValues[] = { JSValueMakeNumber(context, range[0]), JSValueMakeNumber(context, range[1]) }; … … 123 123 124 124 if (controller) { 125 vector<int> rect = controller->firstRectForCharacterRange(start, length);125 std::vector<int> rect = controller->firstRectForCharacterRange(start, length); 126 126 if (rect.size() == 4) { 127 127 JSValueRef argumentsArrayValues[] = … … 146 146 147 147 if (controller) { 148 vector<int> rect = controller->selectedRange();148 std::vector<int> rect = controller->selectedRange(); 149 149 if (rect.size() == 2) { 150 150 JSValueRef argumentsArrayValues[] = { -
trunk/Tools/DumpRenderTree/win/TextInputController.h
r208289 r231852 36 36 #include <vector> 37 37 38 using namespace std;39 40 38 class TextInputController { 41 39 public: … … 45 43 bool hasMarkedText(); 46 44 void unmarkText(); 47 vector<int> markedRange();45 std::vector<int> markedRange(); 48 46 void insertText(JSStringRef text); 49 vector<int> firstRectForCharacterRange(unsigned int start, unsigned int length);50 vector<int> selectedRange();47 std::vector<int> firstRectForCharacterRange(unsigned int start, unsigned int length); 48 std::vector<int> selectedRange(); 51 49 52 50 private: -
trunk/Tools/DumpRenderTree/win/TextInputControllerWin.cpp
r222194 r231852 36 36 #include <comutil.h> 37 37 #include <string> 38 39 using namespace std;40 38 41 39 void TextInputController::setMarkedText(JSStringRef text, unsigned int from, unsigned int length) … … 83 81 } 84 82 85 vector<int> TextInputController::markedRange()83 std::vector<int> TextInputController::markedRange() 86 84 { 87 85 // empty vector 88 vector<int> result;86 std::vector<int> result; 89 87 90 88 COMPtr<IWebView> webView; … … 122 120 } 123 121 124 vector<int> TextInputController::firstRectForCharacterRange(unsigned int start, unsigned int length)122 std::vector<int> TextInputController::firstRectForCharacterRange(unsigned int start, unsigned int length) 125 123 { 126 124 // empty vector 127 vector<int> result;125 std::vector<int> result; 128 126 129 127 COMPtr<IWebView> webView; … … 147 145 } 148 146 149 vector<int> TextInputController::selectedRange()147 std::vector<int> TextInputController::selectedRange() 150 148 { 151 149 // empty vector 152 vector<int> result;150 std::vector<int> result; 153 151 154 152 COMPtr<IWebView> webView;
Note: See TracChangeset
for help on using the changeset viewer.