[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

trey trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:24:36 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 1e927d82b446e6c71f4a28ccdf3133a2cb1ddf7f
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Feb 14 01:15:39 2003 +0000

    WebBrowser:
    
    	First checkin for working forms autocomplete.
    
    	The feature is disabled by default, but can be turned on (persistently) via
    	the debug menu.  Note that your data is not encrypted on disk yet.
    
    	Aside from the plain old implementation work, there is some refactoring done
    	with CompletionController to allow URLCompletionController and FormCompletionController
    	to share more code.
    
    	There is also the addition of the libCdsaCrypt, which is not yet used, but will be
    	soon for encyption.  It's a thin layer over some Security API's to make them usable
    	for simple applications, from developer.apple.com.
    
            Reviewed by Chris
    
            * CompletionController.h:  Added _ignoreTextDidChange.  Added new methods to be
    	implemented by subclasses to facilitate factoring.
            * CompletionController.m:
            (-[CompletionController _sendMessageIgnoringTextChanges:]):
    	New wrapper to send a message with _ignoreTextDidChange temporarily set.
    	This prevents recursion into our completion code.
            (-[CompletionController reflectSelectedRow]):  Impl factored up from
    	URLCompCtrl, calls new methods to get into from subclasses.
            (-[CompletionController reflectFinalSelectedRow]): Ditto.
            (-[CompletionController executeQuery]):  Comment fix.
            (-[CompletionController completeString:]):  Use _sendMessageIgnoringTextChanges
            (-[CompletionController queryString]): New method to be overridden.
            (-[CompletionController intermediateMatchingStringAtIndex:]): Ditto.
            (-[CompletionController finalMatchingStringAtIndex:]):  Ditto.
            (-[CompletionController controlTextDidChange:]):  Obey _ignoreTextDidChange flag.
            (-[CompletionController control:textView:doCommandBySelector:]):
    	Use _sendMessageIgnoringTextChanges.
            (-[CompletionController goToItemAtRow:]):  Ditto
            (-[CompletionController tableViewSelectionDidChange:]):  Ditto
            (-[CompletionController tableView:objectValueForTableColumn:row:]):
    	use new overridable method.
            * Debug/DebugUtilities.m:
            (-[DebugUtilities createDebugMenu]):  Add item for disabling feature.
            (-[BrowserDocument toggleBackForwardEnabled:]):
            (-[BrowserDocument toggleFormsAutoComplete:]):
            * Defaults.plist:  New key.
            * FormCompletionController.h:
            * FormCompletionController.m:   All new code.
            (completionDBPath):  Get db path.
            (domainFromFrame):   Utility routine.
            (+[FormCompletionController formCompletionEnabled]):
    	Return pref value.
            (+[FormCompletionController setFormCompletionEnabled:]):
    	Set pref value.
            (-[FormCompletionController initWithSourceField:frame:]):
    	Setup state for doing completion.
            (-[FormCompletionController dealloc]):
            (+[FormCompletionController _loadCompletionDB]):  Load db.
            (+[FormCompletionController _saveCompletionDB:]):  Save db.
            (+[FormCompletionController _saveCompletionDBSoon]):  Queue up a db save.
            (+[FormCompletionController _appWillTerminate:]):  Save db.
            (+[FormCompletionController clearFormAutoCompleteDatabase]):  Nuke db.
            (+[FormCompletionController frame:willSubmitFormWithValues:]):
    	Save new form values in db.
            (-[FormCompletionController executeQuery]):  Match string to db.
            * PreferenceKeys.h:  New key.
            * URLCompletionController.m:
            (-[URLCompletionController executeQuery]):  Comment.
            (-[URLCompletionController intermediateMatchingStringAtIndex:]):
    	Factored code from old impl mostly moved to super class.
            (-[URLCompletionController finalMatchingStringAtIndex:]):
    	Factored code from old impl mostly moved to super class.
            * WebBrowser.pbproj/project.pbxproj:  Add new security sample code.
            * libCdsaCrypt.h: Added.
            * libCdsaCrypt.m: Added.
    
    
    WebKit:
    
    	First checkin for working forms autocomplete.
    
    	This level mostly just has glue to go from app to WC through the bridge.
    	WebHTMLReo exports some new SPI to get the element of a view, and then to get
    	some HTML-level properties of that element.
    
            Reviewed by Chris
    
            * Bookmarks.subproj/WebBookmarkGroup.m:
            (-[WebBookmarkGroup _saveBookmarkGroupGuts]):  Don't dump entire bookmark
    	dict in the log.
            * WebKit.exp:  New class used by app, objc_class_name_WebHTMLRepresentation.
            * WebView.subproj/WebHTMLRepresentation.h:
            * WebView.subproj/WebHTMLRepresentation.m:
            (-[WebHTMLRepresentation elementForView:]):  New SPI.
            (-[WebHTMLRepresentation elementDoesAutoComplete:]):  New SPI.
            (-[WebHTMLRepresentation elementIsInLoginForm:]):  New SPI.
    
    
    WebCore:
    
    	First checkin for working forms autocomplete.
    
    	This level has some new support routines.
    
            Reviewed by Chris
    
            * khtml/html/html_formimpl.cpp:
            (HTMLFormElementImpl::isLoginForm):  New, returns if a form is for login.
            * khtml/html/html_formimpl.h:
            * kwq/KWQDOMNode.cpp:
            (idFromNode):  New, helper routine to allow us to use the id() function from ObjC.
            * kwq/KWQDOMNode.h:
            * kwq/KWQTextArea.h:  Adopt KWQWidgetHolder protocol.
            * kwq/KWQTextArea.mm:
            (-[KWQTextArea widget]):    Adopt KWQWidgetHolder protocol.
            (-[KWQTextAreaTextView widget]):    Adopt KWQWidgetHolder protocol.
            * kwq/KWQTextField.h:    Adopt KWQWidgetHolder protocol.
            * kwq/KWQTextField.mm:
            (-[KWQTextField widget]):    Adopt KWQWidgetHolder protocol.
            (-[KWQSecureTextField widget]):    Adopt KWQWidgetHolder protocol.
            * kwq/KWQView.h:  Define KWQWidgetHolder protocol
            * kwq/KWQView.mm:
            (-[KWQView widget]): Adopt KWQWidgetHolder protocol.
            * kwq/WebCoreBridge.h:
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge elementForView:]):   New method.
            (inputElementFromDOMElement):  Common code for next two methods.
            (-[WebCoreBridge elementIsInLoginForm:]):   New method.
            (-[WebCoreBridge elementDoesAutoComplete:]):   New method.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 960cb5c..5fe2b69 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,35 @@
+2003-02-13  Trey Matteson  <trey at apple.com>
+
+	First checkin for working forms autocomplete.
+
+	This level has some new support routines.
+
+        Reviewed by Chris
+
+        * khtml/html/html_formimpl.cpp:
+        (HTMLFormElementImpl::isLoginForm):  New, returns if a form is for login.
+        * khtml/html/html_formimpl.h:
+        * kwq/KWQDOMNode.cpp:
+        (idFromNode):  New, helper routine to allow us to use the id() function from ObjC.
+        * kwq/KWQDOMNode.h:
+        * kwq/KWQTextArea.h:  Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextArea.mm:
+        (-[KWQTextArea widget]):    Adopt KWQWidgetHolder protocol.
+        (-[KWQTextAreaTextView widget]):    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextField.h:    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextField.mm:
+        (-[KWQTextField widget]):    Adopt KWQWidgetHolder protocol.
+        (-[KWQSecureTextField widget]):    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQView.h:  Define KWQWidgetHolder protocol
+        * kwq/KWQView.mm:  
+        (-[KWQView widget]): Adopt KWQWidgetHolder protocol.
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge elementForView:]):   New method.
+        (inputElementFromDOMElement):  Common code for next two methods.
+        (-[WebCoreBridge elementIsInLoginForm:]):   New method.
+        (-[WebCoreBridge elementDoesAutoComplete:]):   New method.
+
 2003-02-13  Darin Adler  <darin at apple.com>
 
         Reviewed by Trey.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 960cb5c..5fe2b69 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,35 @@
+2003-02-13  Trey Matteson  <trey at apple.com>
+
+	First checkin for working forms autocomplete.
+
+	This level has some new support routines.
+
+        Reviewed by Chris
+
+        * khtml/html/html_formimpl.cpp:
+        (HTMLFormElementImpl::isLoginForm):  New, returns if a form is for login.
+        * khtml/html/html_formimpl.h:
+        * kwq/KWQDOMNode.cpp:
+        (idFromNode):  New, helper routine to allow us to use the id() function from ObjC.
+        * kwq/KWQDOMNode.h:
+        * kwq/KWQTextArea.h:  Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextArea.mm:
+        (-[KWQTextArea widget]):    Adopt KWQWidgetHolder protocol.
+        (-[KWQTextAreaTextView widget]):    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextField.h:    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQTextField.mm:
+        (-[KWQTextField widget]):    Adopt KWQWidgetHolder protocol.
+        (-[KWQSecureTextField widget]):    Adopt KWQWidgetHolder protocol.
+        * kwq/KWQView.h:  Define KWQWidgetHolder protocol
+        * kwq/KWQView.mm:  
+        (-[KWQView widget]): Adopt KWQWidgetHolder protocol.
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge elementForView:]):   New method.
+        (inputElementFromDOMElement):  Common code for next two methods.
+        (-[WebCoreBridge elementIsInLoginForm:]):   New method.
+        (-[WebCoreBridge elementDoesAutoComplete:]):   New method.
+
 2003-02-13  Darin Adler  <darin at apple.com>
 
         Reviewed by Trey.
diff --git a/WebCore/khtml/html/html_formimpl.cpp b/WebCore/khtml/html/html_formimpl.cpp
index 37eddd8..cf5ea72 100644
--- a/WebCore/khtml/html/html_formimpl.cpp
+++ b/WebCore/khtml/html/html_formimpl.cpp
@@ -91,6 +91,22 @@ NodeImpl::Id HTMLFormElementImpl::id() const
 }
 
 #if APPLE_CHANGES
+bool HTMLFormElementImpl::isLoginForm()
+{
+    // For now, we just look for a password field.  Perhaps we will want to also
+    // check for a small number of input fields as well?
+    QPtrListIterator<HTMLGenericFormElementImpl> it(formElements);
+    for (; it.current(); ++it) {
+        if (it.current()->id() == ID_INPUT) {
+            HTMLInputElementImpl *inputElt = static_cast<HTMLInputElementImpl*>(it.current());
+            if (inputElt->inputType() == HTMLInputElementImpl::PASSWORD) {
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
 bool HTMLFormElementImpl::formWouldHaveSecureSubmission(DOMString url)
 {
     if (url.isNull()) {
diff --git a/WebCore/khtml/html/html_formimpl.h b/WebCore/khtml/html/html_formimpl.h
index 674736f..e421528 100644
--- a/WebCore/khtml/html/html_formimpl.h
+++ b/WebCore/khtml/html/html_formimpl.h
@@ -99,6 +99,10 @@ public:
     
     static void i18nData();
 
+#if APPLE_CHANGES
+    bool isLoginForm();
+#endif
+    
     friend class HTMLFormElement;
     friend class HTMLFormCollectionImpl;
 
diff --git a/WebCore/kwq/KWQDOMNode.cpp b/WebCore/kwq/KWQDOMNode.cpp
index 2fe54f4..62ca0bd 100644
--- a/WebCore/kwq/KWQDOMNode.cpp
+++ b/WebCore/kwq/KWQDOMNode.cpp
@@ -47,4 +47,11 @@ bool isImage(DOM::NodeImpl *node)
     }
 
     return false;
-}
\ No newline at end of file
+}
+
+// here because calling id() from ObjC runs into probs with id being a reserved word
+NodeImpl::Id idFromNode(DOM::NodeImpl *node)
+{
+    return node->id();
+}
+
diff --git a/WebCore/kwq/KWQDOMNode.h b/WebCore/kwq/KWQDOMNode.h
index 055b79a..5957e26 100644
--- a/WebCore/kwq/KWQDOMNode.h
+++ b/WebCore/kwq/KWQDOMNode.h
@@ -23,8 +23,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#import "dom_nodeimpl.h"
+
 namespace DOM {
     class NodeImpl;
 }
 
 bool isImage(DOM::NodeImpl *);
+DOM::NodeImpl::Id idFromNode(DOM::NodeImpl *);
+
diff --git a/WebCore/kwq/KWQTextArea.h b/WebCore/kwq/KWQTextArea.h
index b6975a8..1048319 100644
--- a/WebCore/kwq/KWQTextArea.h
+++ b/WebCore/kwq/KWQTextArea.h
@@ -27,8 +27,9 @@
 
 @class KWQTextAreaTextView;
 class QTextEdit;
+ at protocol KWQWidgetHolder;
 
- at interface KWQTextArea : NSScrollView
+ at interface KWQTextArea : NSScrollView <KWQWidgetHolder>
 {
     KWQTextAreaTextView *textView;
     QTextEdit *widget;
diff --git a/WebCore/kwq/KWQTextArea.mm b/WebCore/kwq/KWQTextArea.mm
index da171e6..6691918 100644
--- a/WebCore/kwq/KWQTextArea.mm
+++ b/WebCore/kwq/KWQTextArea.mm
@@ -53,7 +53,7 @@
 - (void)_KWQ_setKeyboardFocusRingNeedsDisplay;
 @end
 
- at interface KWQTextAreaTextView : NSTextView
+ at interface KWQTextAreaTextView : NSTextView <KWQWidgetHolder>
 {
     QTextEdit *widget;
 }
@@ -470,6 +470,11 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
     [self setKeyboardFocusRingNeedsDisplayInRect:[self bounds]];
 }
 
+- (QWidget *)widget
+{
+    return widget;
+}
+
 @end
 
 @implementation KWQTextAreaTextView
@@ -552,6 +557,11 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
     }
 }
 
+- (QWidget *)widget
+{
+    return widget;
+}
+
 @end
 
 @implementation NSView (KWQTextArea)
diff --git a/WebCore/kwq/KWQTextField.h b/WebCore/kwq/KWQTextField.h
index b2556ee..1022174 100644
--- a/WebCore/kwq/KWQTextField.h
+++ b/WebCore/kwq/KWQTextField.h
@@ -27,8 +27,9 @@
 
 class QLineEdit;
 @class KWQTextFieldFormatter;
+ at protocol KWQWidgetHolder;
 
- at interface KWQTextField : NSTextField
+ at interface KWQTextField : NSTextField <KWQWidgetHolder>
 {
 @private
     QLineEdit *widget;
diff --git a/WebCore/kwq/KWQTextField.mm b/WebCore/kwq/KWQTextField.mm
index 4b99d46..326e1b9 100644
--- a/WebCore/kwq/KWQTextField.mm
+++ b/WebCore/kwq/KWQTextField.mm
@@ -25,6 +25,7 @@
 
 #import "KWQTextField.h"
 
+#import "KWQView.h"
 #import "KWQLineEdit.h"
 #import "KWQKHTMLPart.h"
 #import "KWQNSViewExtras.h"
@@ -47,7 +48,7 @@
 // One is a workaround for bug 3024443.
 // The other is hook up next and previous key views to KHTML.
 
- at interface KWQSecureTextField : NSSecureTextField
+ at interface KWQSecureTextField : NSSecureTextField <KWQWidgetHolder>
 {
     QWidget *widget;
     BOOL inSetFrameSize;
@@ -322,6 +323,11 @@
     [self setNeedsDisplay:YES];
 }
 
+- (QWidget *)widget
+{
+    return widget;
+}
+
 @end
 
 @implementation KWQTextFieldFormatter
@@ -442,4 +448,9 @@
     [self setNeedsDisplay:YES];
 }
 
+- (QWidget *)widget
+{
+    return widget;
+}
+
 @end
diff --git a/WebCore/kwq/KWQView.h b/WebCore/kwq/KWQView.h
index ccd21d8..2a21cdc 100644
--- a/WebCore/kwq/KWQView.h
+++ b/WebCore/kwq/KWQView.h
@@ -27,7 +27,12 @@
 
 class QWidget;
 
- at interface KWQView : NSView
+// all AK View subclasses in KWQ should implement this protocol
+ at protocol KWQWidgetHolder
+- (QWidget *)widget;
+ at end
+
+ at interface KWQView : NSView <KWQWidgetHolder>
 {
     QWidget *widget;
     bool isFlipped;
diff --git a/WebCore/kwq/KWQView.mm b/WebCore/kwq/KWQView.mm
index a4e045f..15e9d78 100644
--- a/WebCore/kwq/KWQView.mm
+++ b/WebCore/kwq/KWQView.mm
@@ -51,4 +51,9 @@
     return isFlipped;
 }
 
+- (QWidget *)widget
+{
+    return widget;
+}
+
 @end
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index b95fc7e..187ff48 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -57,6 +57,7 @@ typedef khtml::RenderPart KHTMLRenderPart;
 @protocol WebCoreResourceLoader;
 @protocol WebDOMDocument;
 @protocol WebDOMNode;
+ at protocol WebDOMElement;
 
 extern NSString *WebCoreElementFrameKey;
 extern NSString *WebCoreElementImageAltStringKey;
@@ -156,6 +157,9 @@ enum FrameBorderStyle {
 - (NSString *)renderTreeAsExternalRepresentation;
 
 - (NSDictionary *)elementAtPoint:(NSPoint)point;
+- (id <WebDOMElement>)elementForView:(NSView *)view;
+- (BOOL)elementIsInLoginForm:(id <WebDOMElement>)element;
+- (BOOL)elementDoesAutoComplete:(id <WebDOMElement>)element;
 
 - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag;
 - (void)jumpToSelection;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 084a489..abed6b5 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -29,6 +29,7 @@
 #import "dom_node.h"
 #import "dom_docimpl.h"
 #import "dom_nodeimpl.h"
+#import "html_formimpl.h"
 #import "html_documentimpl.h"
 #import "htmlattrs.h"
 #import "htmltags.h"
@@ -40,6 +41,8 @@
 #import "render_object.h"
 #import "render_root.h"
 #import "render_style.h"
+#import "render_replaced.h"
+using khtml::RenderWidget;
 
 #import <JavaScriptCore/property_map.h>
 
@@ -50,12 +53,15 @@
 #import "KWQFrame.h"
 #import "KWQPageState.h"
 #import "KWQRenderTreeDebug.h"
+#import "KWQView.h"
 
 #import "WebCoreDOMPrivate.h"
 #import "WebCoreImageRenderer.h"
 #import "WebCoreTextRendererFactory.h"
 #import "WebCoreSettings.h"
 
+#import <AppKit/NSView.h>
+
 using DOM::DocumentImpl;
 using DOM::Node;
 using DOM::NodeImpl;
@@ -441,6 +447,45 @@ static bool initializedObjectCacheSize = FALSE;
     _part->mouseMoved(event);
 }
 
+- (id <WebDOMElement>)elementForView:(NSView *)view
+{
+    // FIXME: implemetented currently for only a subset of the KWQ widgets
+    if ([view conformsToProtocol:@protocol(KWQWidgetHolder)]) {
+        QWidget *widget = [(NSView <KWQWidgetHolder> *)view widget];
+        NodeImpl *node = static_cast<const RenderWidget *>(widget->eventFilterObject())->element();
+        return [WebCoreDOMElement elementWithImpl:static_cast<ElementImpl *>(node)];
+    } else {
+        return nil;
+    }
+}
+
+static HTMLInputElementImpl *inputElementFromDOMElement(id <WebDOMElement>element)
+{
+    ASSERT([(NSObject *)element isKindOfClass:[WebCoreDOMElement class]]);
+DOM::ElementImpl *domElement = [(WebCoreDOMElement *)element elementImpl];
+    if (domElement->isHTMLElement()) {
+        HTMLElementImpl *htmlElement = static_cast<HTMLElementImpl *>(domElement);
+        if (idFromNode(htmlElement) == ID_INPUT) {
+            return static_cast<HTMLInputElementImpl *>(htmlElement);
+        }
+    }
+    return nil;
+}
+    
+- (BOOL)elementIsInLoginForm:(id <WebDOMElement>)element
+{
+    HTMLInputElementImpl *inputElement = inputElementFromDOMElement(element);
+    return inputElement->form()->isLoginForm();
+}
+
+- (BOOL)elementDoesAutoComplete:(id <WebDOMElement>)element
+{
+    HTMLInputElementImpl *inputElement = inputElementFromDOMElement(element);
+    return inputElement != nil
+        && inputElement->inputType() == HTMLInputElementImpl::TEXT
+        && inputElement->autoComplete();
+}
+
 - (NSDictionary *)elementAtPoint:(NSPoint)point
 {
     RenderObject *renderer = _part->renderer();
diff --git a/WebKit/Bookmarks.subproj/WebBookmarkGroup.m b/WebKit/Bookmarks.subproj/WebBookmarkGroup.m
index ba06760..b5ffc13 100644
--- a/WebKit/Bookmarks.subproj/WebBookmarkGroup.m
+++ b/WebKit/Bookmarks.subproj/WebBookmarkGroup.m
@@ -310,7 +310,7 @@ NSString *TagKey = @"WebBookmarkGroupTag";
 
     dictionary = [[self topBookmark] dictionaryRepresentation];
     if (![dictionary writeToFile:path atomically:YES]) {
-        ERROR("attempt to save %@ to %@ failed", dictionary, path);
+        ERROR("attempt to save bookmarks to %@ failed", path);
         return NO;
     }
 
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 9f38c04..f33c797 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,24 @@
+
+2003-02-13  Trey Matteson  <trey at apple.com>
+
+	First checkin for working forms autocomplete.
+
+	This level mostly just has glue to go from app to WC through the bridge.
+	WebHTMLReo exports some new SPI to get the element of a view, and then to get
+	some HTML-level properties of that element.
+
+        Reviewed by Chris
+
+        * Bookmarks.subproj/WebBookmarkGroup.m:
+        (-[WebBookmarkGroup _saveBookmarkGroupGuts]):  Don't dump entire bookmark
+	dict in the log.
+        * WebKit.exp:  New class used by app, objc_class_name_WebHTMLRepresentation.
+        * WebView.subproj/WebHTMLRepresentation.h:
+        * WebView.subproj/WebHTMLRepresentation.m:
+        (-[WebHTMLRepresentation elementForView:]):  New SPI.
+        (-[WebHTMLRepresentation elementDoesAutoComplete:]):  New SPI.
+        (-[WebHTMLRepresentation elementIsInLoginForm:]):  New SPI.
+
 2003-02-13  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed WebKit typos found by Peter Wilson.
diff --git a/WebKit/WebKit.exp b/WebKit/WebKit.exp
index 62b28db..0c27833 100644
--- a/WebKit/WebKit.exp
+++ b/WebKit/WebKit.exp
@@ -11,6 +11,7 @@
 .objc_class_name_WebDownload
 .objc_class_name_WebFormDelegate
 .objc_class_name_WebFrame
+.objc_class_name_WebHTMLRepresentation
 .objc_class_name_WebHTMLView
 .objc_class_name_WebHistory
 .objc_class_name_WebHistoryItem
diff --git a/WebKit/WebView.subproj/WebHTMLRepresentation.h b/WebKit/WebView.subproj/WebHTMLRepresentation.h
index 16d49b6..41711d1 100644
--- a/WebKit/WebView.subproj/WebHTMLRepresentation.h
+++ b/WebKit/WebView.subproj/WebHTMLRepresentation.h
@@ -8,11 +8,13 @@
 #import <Foundation/Foundation.h>
 
 @class WebHTMLRepresentationPrivate;
+ at class NSView;
 
 @protocol WebDocumentRepresentation;
 @protocol WebDocumentSourceRepresentation;
 @protocol WebDOMDocument;
 @protocol WebDOMNode;
+ at protocol WebDOMElement;
 
 /*!
     @class WebHTMLRepresentation
@@ -49,4 +51,8 @@
 
 - (NSAttributedString *)attributedStringFrom: (id<WebDOMNode>)startNode startOffset: (int)startOffset to: (id<WebDOMNode>)endNode endOffset: (int)endOffset;
 
+- (id <WebDOMElement>)elementForView:(NSView *)view;
+- (BOOL)elementDoesAutoComplete:(id <WebDOMElement>)element;
+- (BOOL)elementIsInLoginForm:(id <WebDOMElement>)element;
+
 @end
diff --git a/WebKit/WebView.subproj/WebHTMLRepresentation.m b/WebKit/WebView.subproj/WebHTMLRepresentation.m
index 0df911e..b3dcffa 100644
--- a/WebKit/WebView.subproj/WebHTMLRepresentation.m
+++ b/WebKit/WebView.subproj/WebHTMLRepresentation.m
@@ -10,6 +10,7 @@
 #import <WebKit/WebKitStatisticsPrivate.h>
 #import <WebKit/WebFramePrivate.h>
 #import <WebKit/WebDocument.h>
+#import <WebKit/WebDOMElement.h>
 #import <WebFoundation/WebResourceResponse.h>
 
 @interface WebHTMLRepresentationPrivate : NSObject
@@ -112,4 +113,19 @@
     return [_private->bridge attributedStringFrom: startNode startOffset: startOffset to: endNode endOffset: endOffset];
 }
 
+- (id <WebDOMElement>)elementForView:(NSView *)view
+{
+    return [_private->bridge elementForView:view];
+}
+
+- (BOOL)elementDoesAutoComplete:(id <WebDOMElement>)element
+{
+    return [_private->bridge elementDoesAutoComplete:element];
+}
+
+- (BOOL)elementIsInLoginForm:(id <WebDOMElement>)element
+{
+    return [_private->bridge elementIsInLoginForm:element];
+}
+
 @end

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list