| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * 1.  Redistributions of source code must retain the above copyright | 7  * 1.  Redistributions of source code must retain the above copyright | 
| 8  *     notice, this list of conditions and the following disclaimer. | 8  *     notice, this list of conditions and the following disclaimer. | 
| 9  * 2.  Redistributions in binary form must reproduce the above copyright | 9  * 2.  Redistributions in binary form must reproduce the above copyright | 
| 10  *     notice, this list of conditions and the following disclaimer in the | 10  *     notice, this list of conditions and the following disclaimer in the | 
| 11  *     documentation and/or other materials provided with the distribution. | 11  *     documentation and/or other materials provided with the distribution. | 
| 12  * | 12  * | 
| 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND | 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND | 
| 14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
| 15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
| 16  * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE | 16  * ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE | 
| 17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
| 18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | 
| 19  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | 19  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | 
| 20  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 20  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 
| 21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 
| 22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 
| 23  * SUCH DAMAGE. | 23  * SUCH DAMAGE. | 
| 24  */ | 24  */ | 
| 25 | 25 | 
| 26 #ifndef ValidationMessageClientImpl_h | 26 #ifndef ValidationMessageClientImpl_h | 
| 27 #define ValidationMessageClientImpl_h | 27 #define ValidationMessageClientImpl_h | 
| 28 | 28 | 
|  | 29 #include "core/page/PopupOpeningObserver.h" | 
| 29 #include "core/page/ValidationMessageClient.h" | 30 #include "core/page/ValidationMessageClient.h" | 
| 30 #include "platform/Timer.h" | 31 #include "platform/Timer.h" | 
| 31 #include "platform/geometry/IntRect.h" | 32 #include "platform/geometry/IntRect.h" | 
| 32 #include "platform/heap/Handle.h" | 33 #include "platform/heap/Handle.h" | 
| 33 #include "platform/wtf/text/WTFString.h" | 34 #include "platform/wtf/text/WTFString.h" | 
| 34 | 35 | 
| 35 namespace blink { | 36 namespace blink { | 
| 36 | 37 | 
| 37 class FrameView; | 38 class FrameView; | 
| 38 class WebViewImpl; | 39 class WebViewImpl; | 
| 39 | 40 | 
| 40 class ValidationMessageClientImpl final | 41 class ValidationMessageClientImpl final | 
| 41     : public GarbageCollectedFinalized<ValidationMessageClientImpl>, | 42     : public GarbageCollectedFinalized<ValidationMessageClientImpl>, | 
| 42       public ValidationMessageClient { | 43       public ValidationMessageClient, | 
|  | 44       private PopupOpeningObserver { | 
| 43   USING_GARBAGE_COLLECTED_MIXIN(ValidationMessageClientImpl); | 45   USING_GARBAGE_COLLECTED_MIXIN(ValidationMessageClientImpl); | 
| 44 | 46 | 
| 45  public: | 47  public: | 
| 46   static ValidationMessageClientImpl* Create(WebViewImpl&); | 48   static ValidationMessageClientImpl* Create(WebViewImpl&); | 
| 47   ~ValidationMessageClientImpl() override; | 49   ~ValidationMessageClientImpl() override; | 
| 48 | 50 | 
| 49   DECLARE_VIRTUAL_TRACE(); | 51   DECLARE_VIRTUAL_TRACE(); | 
| 50 | 52 | 
| 51  private: | 53  private: | 
| 52   ValidationMessageClientImpl(WebViewImpl&); | 54   ValidationMessageClientImpl(WebViewImpl&); | 
| 53   void CheckAnchorStatus(TimerBase*); | 55   void CheckAnchorStatus(TimerBase*); | 
| 54   FrameView* CurrentView(); | 56   FrameView* CurrentView(); | 
| 55 | 57 | 
| 56   void ShowValidationMessage(const Element& anchor, | 58   void ShowValidationMessage(const Element& anchor, | 
| 57                              const String& message, | 59                              const String& message, | 
| 58                              TextDirection message_dir, | 60                              TextDirection message_dir, | 
| 59                              const String& sub_message, | 61                              const String& sub_message, | 
| 60                              TextDirection sub_message_dir) override; | 62                              TextDirection sub_message_dir) override; | 
| 61   void HideValidationMessage(const Element& anchor) override; | 63   void HideValidationMessage(const Element& anchor) override; | 
| 62   bool IsValidationMessageVisible(const Element& anchor) override; | 64   bool IsValidationMessageVisible(const Element& anchor) override; | 
| 63   void WillUnloadDocument(const Document&) override; | 65   void WillUnloadDocument(const Document&) override; | 
| 64   void DocumentDetached(const Document&) override; | 66   void DocumentDetached(const Document&) override; | 
| 65   void WillBeDestroyed() override; | 67   void WillBeDestroyed() override; | 
| 66 | 68 | 
|  | 69   // PopupOpeningObserver function | 
|  | 70   void WillOpenPopup() override; | 
|  | 71 | 
| 67   WebViewImpl& web_view_; | 72   WebViewImpl& web_view_; | 
| 68   Member<const Element> current_anchor_; | 73   Member<const Element> current_anchor_; | 
| 69   String message_; | 74   String message_; | 
| 70   IntRect last_anchor_rect_in_screen_; | 75   IntRect last_anchor_rect_in_screen_; | 
| 71   float last_page_scale_factor_; | 76   float last_page_scale_factor_; | 
| 72   double finish_time_; | 77   double finish_time_; | 
| 73   std::unique_ptr<TimerBase> timer_; | 78   std::unique_ptr<TimerBase> timer_; | 
| 74 }; | 79 }; | 
| 75 | 80 | 
| 76 }  // namespace blink | 81 }  // namespace blink | 
| 77 | 82 | 
| 78 #endif | 83 #endif | 
| OLD | NEW | 
|---|