| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2006 Apple Computer, 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 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 #ifndef WEBKIT_GLUE_WEBFRAME_IMPL_H_ | 26 #ifndef WEBKIT_GLUE_WEBFRAME_IMPL_H_ |
| 27 #define WEBKIT_GLUE_WEBFRAME_IMPL_H_ | 27 #define WEBKIT_GLUE_WEBFRAME_IMPL_H_ |
| 28 | 28 |
| 29 #include <string> | 29 #include <string> |
| 30 | 30 |
| 31 #include "base/basictypes.h" | 31 #include "base/basictypes.h" |
| 32 #include "base/compiler_specific.h" | 32 #include "base/compiler_specific.h" |
| 33 #include "base/gfx/platform_canvas.h" | 33 #include "base/gfx/platform_canvas.h" |
| 34 #include "base/scoped_ptr.h" | 34 #include "base/scoped_ptr.h" |
| 35 #include "base/task.h" | 35 #include "base/task.h" |
| 36 #include "webkit/glue/form_autocomplete_listener.h" | 36 #include "webkit/glue/password_autocomplete_listener.h" |
| 37 #include "webkit/glue/webdatasource_impl.h" | 37 #include "webkit/glue/webdatasource_impl.h" |
| 38 #include "webkit/glue/webframe.h" | 38 #include "webkit/glue/webframe.h" |
| 39 #include "webkit/glue/webframeloaderclient_impl.h" | 39 #include "webkit/glue/webframeloaderclient_impl.h" |
| 40 #include "webkit/glue/webplugin_delegate.h" | 40 #include "webkit/glue/webplugin_delegate.h" |
| 41 #include "webkit/glue/webview_delegate.h" | 41 #include "webkit/glue/webview_delegate.h" |
| 42 | 42 |
| 43 MSVC_PUSH_WARNING_LEVEL(0); | 43 MSVC_PUSH_WARNING_LEVEL(0); |
| 44 #include "ResourceHandleClient.h" | 44 #include "ResourceHandleClient.h" |
| 45 #include "Frame.h" | 45 #include "Frame.h" |
| 46 #include "PlatformString.h" | 46 #include "PlatformString.h" |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 // Sets whether the WebFrameImpl allows its document to be scrolled. | 264 // Sets whether the WebFrameImpl allows its document to be scrolled. |
| 265 // If the parameter is true, allow the document to be scrolled. | 265 // If the parameter is true, allow the document to be scrolled. |
| 266 // Otherwise, disallow scrolling | 266 // Otherwise, disallow scrolling |
| 267 void SetAllowsScrolling(bool flag); | 267 void SetAllowsScrolling(bool flag); |
| 268 | 268 |
| 269 // Returns true if the frame CSS is in "printing" mode. | 269 // Returns true if the frame CSS is in "printing" mode. |
| 270 bool printing() const { return printing_; } | 270 bool printing() const { return printing_; } |
| 271 | 271 |
| 272 virtual bool IsReloadAllowingStaleData() const; | 272 virtual bool IsReloadAllowingStaleData() const; |
| 273 | 273 |
| 274 // Returns the listener used for autocomplete. Creates it and registers it on | 274 // Registers a listener for the specified user name input element. The |
| 275 // the frame body node on the first invocation. | 275 // listener will receive notifications for blur and when autocomplete should |
| 276 webkit_glue::AutocompleteBodyListener* GetAutocompleteListener(); | 276 // be triggered. |
| 277 // The WebFrameImpl becomes the owner of the passed listener. |
| 278 void RegisterPasswordListener( |
| 279 PassRefPtr<WebCore::HTMLInputElement> user_name_input_element, |
| 280 webkit_glue::PasswordAutocompleteListener* listener); |
| 277 | 281 |
| 278 // Nulls the autocomplete listener for this frame. Useful as a frame might | 282 // Returns the password autocomplete listener associated with the passed |
| 279 // be reused (on reload for example), in which case a new body element is | 283 // user name input element, or NULL if none available. |
| 280 // created and the existing autocomplete listener becomes useless. | 284 // Note that the returned listener is owner by the WebFrameImpl and should not |
| 281 void ClearAutocompleteListener(); | 285 // be kept around as it is deleted when the page goes away. |
| 286 webkit_glue::PasswordAutocompleteListener* GetPasswordListener( |
| 287 WebCore::HTMLInputElement* user_name_input_element); |
| 282 | 288 |
| 283 protected: | 289 protected: |
| 284 friend class WebFrameLoaderClient; | 290 friend class WebFrameLoaderClient; |
| 285 | 291 |
| 286 // Informs the WebFrame that the Frame is being closed, called by the | 292 // Informs the WebFrame that the Frame is being closed, called by the |
| 287 // WebFrameLoaderClient | 293 // WebFrameLoaderClient |
| 288 void Closing(); | 294 void Closing(); |
| 289 | 295 |
| 290 // A helper function for loading some document, given all of its data, into | 296 // A helper function for loading some document, given all of its data, into |
| 291 // this frame. The charset may be empty if unknown, but a mime type must be | 297 // this frame. The charset may be empty if unknown, but a mime type must be |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 // Only for test_shell | 439 // Only for test_shell |
| 434 int PendingFrameUnloadEventCount() const; | 440 int PendingFrameUnloadEventCount() const; |
| 435 | 441 |
| 436 // Determines whether to invalidate the content area and scrollbar. | 442 // Determines whether to invalidate the content area and scrollbar. |
| 437 void InvalidateIfNecessary(); | 443 void InvalidateIfNecessary(); |
| 438 | 444 |
| 439 void InternalLoadRequest(const WebRequest* request, | 445 void InternalLoadRequest(const WebRequest* request, |
| 440 const WebCore::SubstituteData& data, | 446 const WebCore::SubstituteData& data, |
| 441 bool replace); | 447 bool replace); |
| 442 | 448 |
| 449 // Clears the map of password listeners. |
| 450 void ClearPasswordListeners(); |
| 451 |
| 443 // In "printing" mode. Used as a state check. | 452 // In "printing" mode. Used as a state check. |
| 444 bool printing_; | 453 bool printing_; |
| 445 | 454 |
| 446 // For each printed page, the view of the document in pixels. | 455 // For each printed page, the view of the document in pixels. |
| 447 Vector<WebCore::IntRect> pages_; | 456 Vector<WebCore::IntRect> pages_; |
| 448 | 457 |
| 449 // The listener responsible for showing form autocomplete suggestions. | 458 // The input fields that are interested in edit events and their associated |
| 450 RefPtr<webkit_glue::AutocompleteBodyListener> form_autocomplete_listener_; | 459 // listeners. |
| 460 typedef HashMap<RefPtr<WebCore::HTMLInputElement>, |
| 461 webkit_glue::PasswordAutocompleteListener*> PasswordListenerMap; |
| 462 PasswordListenerMap password_listeners_; |
| 451 | 463 |
| 452 DISALLOW_COPY_AND_ASSIGN(WebFrameImpl); | 464 DISALLOW_COPY_AND_ASSIGN(WebFrameImpl); |
| 453 }; | 465 }; |
| 454 | 466 |
| 455 #endif // WEBKIT_GLUE_WEBFRAME_IMPL_H_ | 467 #endif // WEBKIT_GLUE_WEBFRAME_IMPL_H_ |
| OLD | NEW |