1. 24 Nov, 2010 1 commit
  2. 21 Nov, 2010 1 commit
    • mario@webkit.org's avatar
      2010-11-21 Mario Sanchez Prada <msanchez@igalia.com> · 234e740c
      mario@webkit.org authored
              Reviewed by Chris Fleizach.
      
              [GTK] Implement ROLE_COMBO_BOX
              https://bugs.webkit.org/show_bug.cgi?id=25678
      
              Implement the remaining bits for combo boxes.
      
              This patch finishes the implementation, from the point of view of
              the Atk library, of those objects exposed to ATK as combo boxes,
              and their related elements (menus and menu items). It therefore
              implements the proper interfaces for each type of object related
              to combo boxes (AtkSelection for the combo box, AtkText for every
              menu item and AtkAction for the combo box, the menu and the menu
              items), takes care of emitting the proper signals when focus or a
              given a selection changes and adds a new unit test to check all
              this new stuff.
      
              Make possible to ask an AccessibleMenuListOption for a sensible
              string representation, so far only available through the private
              and MSAA related method nameForMSAA. Just moved the implementation
              of that method to an overriden version of stringValue(), which is
              platform independent, and called that from nameForMSAA().
      
              * accessibility/AccessibilityMenuListOption.h:
              * accessibility/AccessibilityMenuListOption.cpp:
              (WebCore::AccessibilityMenuListOption::nameForMSAA): Just call to
              stringValue(), which holds from now on that used to be here.
              (WebCore::AccessibilityMenuListOption::stringValue): New, override
              of AccessibilityObject::stringValue() to return a proper string.
      
              Emit the missing signals when a selection is made.
      
              * accessibility/gtk/AXObjectCacheAtk.cpp:
              (WebCore::AXObjectCache::postPlatformNotification): Emit the usual
              'focus' signals when a selection is made over the combo box.
      
              * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
              (setAtkStateSetFromCoreObject): Ensure the EXPANDABLE and EXPANDED
              Atk states are added to the state set when needed.
              (listObjectForSelection): New, returns the proper list object (the
              one holding the list of available options as its children) for an
              specific AtkObject implementing AtkSelection. This is needed
              because sometimes the selectable options are not directly children
              of the AtkSelection object (i.e. a combo box has a 'menu' object
              as its only child of it, holding the list of options as children).
              (optionFromList): Use listObjectForSelection() to get the actual
              object holding the list of children as the available options.
              (optionFromSelection): Add support for combo boxes.
              (webkit_accessible_selection_add_selection): Ditto.
              (webkit_accessible_selection_clear_selection): Ditto.
              (webkit_accessible_selection_get_selection_count): Ditto.
              (webkit_accessible_selection_is_child_selected): Ditto.
              (webkit_accessible_selection_remove_selection): Ditto.
              (webkit_accessible_text_get_text): Makes sure stringValue() is
              considered to get the result substring when it was already
              considered when checking the maximum text length for the object.
              (getInterfaceMaskFromObject): Make sure the AtkSelection interface
              is implemented for the combo boxes, that the AtkText is
              implemented for the menu items and that the AtkAction interface is
              now implemented for every object (WebCore will decide what to do).
      
              Avoid a segfault crash when using this from unit tests.
      
              * platform/gtk/PopupMenuGtk.cpp:
              (WebCore::PopupMenuGtk::show): Make sure we got a valid GdkWindow
              before calling gdk_window_get_origin() over it.
      2010-11-21  Mario Sanchez Prada  <msanchez@igalia.com>
      
              Reviewed by Chris Fleizach.
      
              [GTK] Implement ROLE_COMBO_BOX
              https://bugs.webkit.org/show_bug.cgi?id=25678
      
              New test to check the implementation of the combo boxes.
      
              * tests/testatk.c:
              (testWebkitAtkComboBox): New test, checking that the roles and the
              implemented interfaces for a combo box and its descendants work.
              (main): Added the new unit test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      234e740c
  3. 19 Jan, 2010 1 commit
    • jhoneycutt@apple.com's avatar
      MSAA: The child <option> elements of a non-multiple <select> are not · c344ece4
      jhoneycutt@apple.com authored
      exposed
      
      https://bugs.webkit.org/show_bug.cgi?id=33773
      <rdar://problem/7550556>
      
      WebCore:
      
      Reviewed by Alice Liu.
      
      This exposes the child <option> elements in a format similar to
      Firefox's: the <select> element has one child, a hidden list object,
      and this list has as its children the <option> elements.
      
      * GNUmakefile.am:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      Add new files to project.
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::AXObjectCache::getOrCreate):
      If the element is a RenderMenuList, create an AccessibilityMenuList.
      (WebCore::AXObjectCache::getOrCreate):
      Add new types to create by role value.
      
      * accessibility/AccessibilityMenuList.cpp: Added.
      (WebCore::AccessibilityMenuList::AccessibilityMenuList):
      Call the base class constructor. Assert that the RenderObject passed
      is a RenderMenuList.
      (WebCore::AccessibilityMenuList::press):
      Show or hide the popup menu.
      (WebCore::AccessibilityMenuList::addChildren):
      Create an AccessibilityMenuListPopup. If the platform ignores its
      accessibility, remove it from the object cache and return early.
      Otherwise, set its parent object to this object, add it to our list of
      children, and tell it to add its children.
      (WebCore::AccessibilityMenuList::childrenChanged):
      Tell our child hidden list that its children changed.
      (WebCore::AccessibilityMenuList::isCollapsed):
      Return whether the popup menu is visible.
      
      * accessibility/AccessibilityMenuList.h: Added.
      (WebCore::AccessibilityMenuList::create):
      Adopt and return a new RenderMenuList.
      (WebCore::AccessibilityMenuList::isMenuList):
      (WebCore::AccessibilityMenuList::roleValue):
      (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
      (WebCore::AccessibilityMenuList::canSetFocusAttribute):
      
      * accessibility/AccessibilityMenuListOption.cpp: Added.
      (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
      Initialize the pointer to our parent popup menu.
      (WebCore::AccessibilityMenuListOption::setElement):
      Assert that the element is an <option> element.
      (WebCore::AccessibilityMenuListOption::actionElement):
      Return our element.
      (WebCore::AccessibilityMenuListOption::parentObject):
      Return our parent popup menu.
      (WebCore::AccessibilityMenuListOption::isEnabled):
      Return true if the element itself is enabled.
      (WebCore::AccessibilityMenuListOption::isVisible):
      Return true if the popup is visible, or return true if the popup is
      collapsed but the element is selected.
      (WebCore::AccessibilityMenuListOption::isOffScreen):
      Return true if the object is invisible.
      (WebCore::AccessibilityMenuListOption::isSelected):
      (WebCore::AccessibilityMenuListOption::setSelected):
      (WebCore::AccessibilityMenuListOption::nameForMSAA):
      Return the <option> element's text.
      (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
      Return true if enabled.
      (WebCore::AccessibilityMenuListOption::elementRect):
      Return the AccessibilityMenuList's rect.
      
      * accessibility/AccessibilityMenuListOption.h: Added.
      (WebCore::AccessibilityMenuListOption::create):
      Adopt and return a new AccessibilityMenuListOption.
      (WebCore::AccessibilityMenuListOption::setParent):
      (WebCore::AccessibilityMenuListOption::isMenuListOption):
      (WebCore::AccessibilityMenuListOption::roleValue):
      (WebCore::AccessibilityMenuListOption::canHaveChildren):
      (WebCore::AccessibilityMenuListOption::size):
      
      * accessibility/AccessibilityMenuListPopup.cpp: Added.
      (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
      Initialize the pointer to our parent list.
      (WebCore::AccessibilityMenuListPopup::isVisible):
      Return false; we're never considered visible.
      (WebCore::AccessibilityMenuListPopup::isOffScreen):
      Return true if the popup is collapsed.
      (WebCore::AccessibilityMenuListPopup::parentObject):
      Return our parent AccessibilityMenuList.
      (WebCore::AccessibilityMenuListPopup::isEnabled):
      Return true if our parent is enabled.
      (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
      If the element is an <option> element, create a list item for it, and
      set the object's element to this element.
      (WebCore::AccessibilityMenuListPopup::press):
      Call our parent's press() function to show or hide the popup menu.
      (WebCore::AccessibilityMenuListPopup::addChildren):
      Walk the select element's children, and create list items for them. Add
      them to our list of children.
      (WebCore::AccessibilityMenuListPopup::childrenChanged):
      If any of our children have been detached from the document, remove
      them from the AXObjectCache and from our child list.
      (WebCore::AccessibilityMenuListPopup::setMenuList):
      
      * accessibility/AccessibilityMenuListPopup.h: Added.
      (WebCore::AccessibilityMenuListPopup::create):
      Adopt and return an AccessibilityMenuListPopup.
      (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
      (WebCore::AccessibilityMenuListPopup::elementRect):
      (WebCore::AccessibilityMenuListPopup::size):
      (WebCore::AccessibilityMenuListPopup::roleValue):
      
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::actionVerb):
      Add the menuListAction and menuListPopupAction verbs.
      
      * accessibility/AccessibilityObject.h:
      (WebCore::):
      Add new roles.
      (WebCore::AccessibilityObject::isMenuList):
      Stubbed.
      (WebCore::AccessibilityObject::isMenuListHiddenList):
      Stubbed.
      (WebCore::AccessibilityObject::isMenuListOption):
      Stubbed.
      (WebCore::AccessibilityObject::isVisible):
      Stubbed.
      
      * accessibility/chromium/AccessibilityObjectChromium.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Ignore the new object type.
      
      * accessibility/gtk/AccessibilityObjectAtk.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Ditto.
      
      * accessibility/mac/AccessibilityObjectMac.mm:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Ditto.
      
      * accessibility/qt/AccessibilityObjectQt.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Ditto.
      
      * accessibility/win/AccessibilityObjectWin.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Allow the new object types.
      
      * accessibility/wx/AccessibilityObjectWx.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      Ignore the new object type.
      
      * accessibility/win/AccessibilityObjectWin.cpp:
      (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
      If the object is an AccessibilityMenuListHiddenList or
      AccessibilityMenuListOption, include it.
      
      * html/HTMLOptionElement.cpp:
      (WebCore::HTMLOptionElement::disabled):
      Call ownElementDisabled().
      
      * html/HTMLOptionElement.h:
      (WebCore::HTMLOptionElement::ownElementDisabled):
      Return the base class implementation of disabled, which returns
      whether this <option> itself is disabled.
      
      * platform/LocalizedStrings.h:
      Declare new localized string functions.
      
      * platform/gtk/LocalizedStringsGtk.cpp:
      (WebCore::AXMenuListPopupActionVerb):
      Stubbed.
      (WebCore::AXMenuListActionVerb):
      Stubbed.
      
      * platform/haiku/LocalizedStringsHaiku.cpp:
      (WebCore::AXMenuListPopupActionVerb):
      Stubbed.
      (WebCore::AXMenuListActionVerb):
      Stubbed.
      
      * platform/mac/LocalizedStringsMac.mm:
      (WebCore::AXMenuListPopupActionVerb):
      Call the view factory's method.
      (WebCore::AXMenuListActionVerb):
      Ditto.
      
      * platform/qt/Localizations.cpp:
      (WebCore::AXMenuListPopupActionVerb):
      Stubbed.
      (WebCore::AXMenuListActionVerb):
      Stubbed.
      
      * platform/wx/LocalizedStringsWx.cpp:
      (WebCore::AXMenuListPopupActionVerb):
      Stubbed.
      (WebCore::AXMenuListActionVerb):
      Stubbed.
      
      WebKit:
      
      Reviewed by Alice Liu.
      
      * English.lproj/Localizable.strings:
      Add new localized strings.
      
      WebKit/mac:
      
      * WebCoreSupport/WebViewFactory.mm:
      (-[WebViewFactory AXMenuListPopupActionVerb]):
      Stubbed.
      (-[WebViewFactory AXMenuListActionVerb]):
      Stubbed.
      
      WebKit/win:
      
      Reviewed by Alice Liu.
      
      * AccessibleBase.cpp:
      (AccessibleBase::get_accState):
      If the object is invisible, set the invisible state flag. If the object
      is collapsed, set the collapsed state. If the object is a combo box,
      set the has popup flag, and if it's not collapsed, set the expanded
      flag.
      (MSAARole):
      Add new WebCore to MSAA role mappings.
      
      * WebCoreLocalizedStrings.cpp:
      (WebCore::AXMenuListActionVerb):
      Return the action verb that Firefox uses for <select> elements with
      popups.
      (WebCore::AXMenuListPopupActionVerb):
      Return the verb that Firefox uses for a popup list.
      
      WebKitTools:
      
      Reviewed by Alice Liu.
      
      * DumpRenderTree/AccessibilityUIElement.cpp:
      (getIsVisibleCallback):
      Call the object's isVisible() function.
      (getIsOffScreenCallback):
      Ditto, for isOffScreen().
      (getIsCollapsedCallback):
      Ditto, for isCollapsed().
      (getHasPopupCallback):
      Ditto, for hasPopup().
      (AccessibilityUIElement::getJSClass):
      Add isVisible and isOffScreen attributes.
      
      * DumpRenderTree/AccessibilityUIElement.h:
      Declare new functions.
      
      * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
      (AccessibilityUIElement::isVisible):
      Stubbed.
      (AccessibilityUIElement::isOffScreen):
      Stubbed.
      (AccessibilityUIElement::isCollapsed):
      Stubbed.
      (AccessibilityUIElement::hasPopup):
      Stubbed.
      
      * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
      (AccessibilityUIElement::isVisible):
      Stubbed.
      (AccessibilityUIElement::isOffScreen):
      Stubbed.
      (AccessibilityUIElement::isCollapsed):
      Stubbed.
      (AccessibilityUIElement::hasPopup):
      Stubbed.
      
      * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
      (AccessibilityUIElement::showMenu):
      Call the object's accDoDefaultAction() to show its popup menu.
      (AccessibilityUIElement::isEnabled):
      Check that the object does not have the "unavailable" state.
      (AccessibilityUIElement::isVisible):
      Check that the object does not have the "invisible" state.
      (AccessibilityUIElement::isOffScreen):
      Check whether the object has the "offscreen" state.
      (AccessibilityUIElement::isCollapsed):
      Check whether the object has the "collapsed" state.
      (AccessibilityUIElement::hasPopup):
      Check whether the object has the "has popup" state.
      
      LayoutTests:
      
      Reviewed by Alice Liu.
      
      * platform/win/accessibility/single-select-children-expected.txt: Added.
      * platform/win/accessibility/single-select-children.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c344ece4
  4. 13 Jan, 2010 1 commit
    • sfalken@apple.com's avatar
      Add additional Geolocation interfaces in WebKit for Windows. · 817a96a0
      sfalken@apple.com authored
      Reviewed by Adam Roben.
      
      * Interfaces/IWebGeolocationPolicyListener.idl: Added.
      * Interfaces/IWebUIDelegatePrivate.idl: Add decidePolicyForGeolocationRequest to IWebUIDelegatePrivate2.
      Append since this version hasn't shipped.
      * Interfaces/WebKit.idl: Add include of IWebGeolocationPolicyListener.idl.
      * WebCoreSupport/WebChromeClient.cpp:
      (WebChromeClient::requestGeolocationPermissionForFrame): Call into decidePolicyForGeolocationRequest.
      * WebCoreSupport/WebGeolocationControllerClient.cpp:
      (WebGeolocationControllerClient::WebGeolocationControllerClient): Moved *.
      * WebGeolocationPolicyListener.cpp: Added.
      * WebGeolocationPolicyListener.h: Added.
      * WebKit.vcproj/Interfaces.vcproj: Added IWebGeolocationPolicyListener.
      * WebKit.vcproj/WebKit.vcproj: Added WebGeolocationPolicyListener, WebGeolocationPolicyListener.
      * WebView.cpp:
      (WebView::setGeolocationProvider): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationProvider): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationDidChangePosition): Removed extraneous STDMETHODCALLTYPE.
      (WebView::geolocationDidFailWithError): Removed extraneous STDMETHODCALLTYPE.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      817a96a0
  5. 23 May, 2008 1 commit
  6. 19 May, 2008 1 commit
    • adachan@apple.com's avatar
      Added methods to get/set current cookie storage. · 149c8024
      adachan@apple.com authored
      WebCore:
              Added CookieStorageWin.h/cpp, introducing methods to get/set the current CFHTTPCookieStorageRef.
              When setting cookies-related attributes in CFURLRequest, make sure we get them from the
              current CFHTTPCookieStorageRef.  Also, set the cookie storage in CFURLRequest.
      
              Reviewed by Steve Falkenburg.
      
              * WebCore.vcproj/WebCore.vcproj:
              * platform/network/cf/ResourceHandleCFNet.cpp:
              (WebCore::makeFinalRequest):
              * platform/network/cf/ResourceRequestCFNet.cpp:
              (WebCore::ResourceRequest::doUpdatePlatformRequest):
              * platform/network/win/CookieJarCFNetWin.cpp:
              (WebCore::setCookies):
              (WebCore::cookies):
              (WebCore::cookiesEnabled):
              * platform/network/win/CookieStorageWin.cpp: Added.
              (WebCore::currentCookieStorage):
              (WebCore::setCurrentCookieStorage):
              * platform/network/win/CookieStorageWin.h: Added.
      
      WebKit/win:
              Added IWebCookieManager interface which allows client to set the
              CFHTTPCookieStorageRef that WebCore should use.
              
              Implement IWebCookieManager interface in WebCookieManager.
              
              Update the cookie accept policy in the current cookie storage.
      
              Reviewed by Steve Falkenburg.
      
              * ForEachCoClass.h:
              * Interfaces/IWebCookieManager.idl: Added.
              * Interfaces/WebKit.idl:
              * WebCookieManager.cpp: Added.
              (WebCookieManager::createInstance):
              (WebCookieManager::WebCookieManager):
              (WebCookieManager::~WebCookieManager):
              (WebCookieManager::QueryInterface):
              (WebCookieManager::AddRef):
              (WebCookieManager::Release):
              (WebCookieManager::cookieStorage):
              (WebCookieManager::setCookieStorage):
              * WebCookieManager.h: Added.
              * WebKit.vcproj/WebKit.vcproj:
              * WebKitClassFactory.cpp:
              * WebView.cpp:
              (updateSharedSettingsFromPreferencesIfNeeded):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      149c8024
  7. 18 Apr, 2008 1 commit
    • jhoneycutt@apple.com's avatar
      2008-04-17 Jon Honeycutt <jhoneycutt@apple.com> · 2904f97b
      jhoneycutt@apple.com authored
              Reviewed by Darin.
      
              Return an AccessibleDocument when our root accessible object is queried
              for.
      
              * AccessibleDocument.cpp: Added; represents an AccessibilityObject that
              itself represents a Document.
              (AccessibleDocument::AccessibleDocument): Initialize AccessibleBase with
              the AccessibilityObject for this Document.
              * AccessibleDocument.h: Added.
              * WebFrame.cpp:
              (WebFrame::accessible): If m_accessible is 0, or if Document in this
              frame does not match the Document in the cached m_accessible object,
              create a new AccessibleDocument for this frame's Document.
              * WebFrame.h: Swap AccessibleBase.h for AccessibleDocument.h
              * WebKit.vcproj/WebKit.vcproj: Add AccessibleDocument.{h,cpp}
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2904f97b
  8. 16 Apr, 2008 1 commit
    • andersca@apple.com's avatar
      2008-04-16 Anders Carlsson <andersca@apple.com> · c6839d1c
      andersca@apple.com authored
              Reviewed by Adam.
      
              Generate the DOMApplicationCache JS wrapper, add JSDOMApplicationCacheCustom.cpp and 
              fix typos in the #if line.
              
              * DerivedSources.make:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/js/JSDOMApplicationCacheCustom.cpp: Added.
              * loader/appcache/ApplicationCache.cpp:
              * loader/appcache/ApplicationCache.h:
              * loader/appcache/ApplicationCacheGroup.cpp:
              * loader/appcache/ApplicationCacheGroup.h:
              * loader/appcache/ApplicationCacheResource.cpp:
              * loader/appcache/ApplicationCacheResource.h:
              * loader/appcache/DOMApplicationCache.cpp:
              * loader/appcache/DOMApplicationCache.h:
              * loader/appcache/DOMApplicationCache.idl:
              * loader/appcache/ManifestParser.cpp:
              * loader/appcache/ManifestParser.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6839d1c
  9. 15 Apr, 2008 1 commit
    • andersca@apple.com's avatar
      JavaScriptCore: · b8666938
      andersca@apple.com authored
      2008-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Adam.
      
              Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
              
              * Configurations/JavaScriptCore.xcconfig:
      
      WebCore:
      
      2008-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Adam.
      
              Add empty files for the application cache.
              
              * Configurations/WebCore.xcconfig:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcproj/build-generated-files.sh:
              Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
              
              * WebCore.xcodeproj/project.pbxproj:
              * loader/appcache: Added.
              * loader/appcache/ApplicationCache.cpp: Added.
              * loader/appcache/ApplicationCache.h: Added.
              * loader/appcache/ApplicationCacheGroup.cpp: Added.
              * loader/appcache/ApplicationCacheGroup.h: Added.
              * loader/appcache/ApplicationCacheResource.cpp: Added.
              * loader/appcache/ApplicationCacheResource.h: Added.
              * loader/appcache/DOMApplicationCache.cpp: Added.
              * loader/appcache/DOMApplicationCache.h: Added.
              * loader/appcache/DOMApplicationCache.idl: Added.
              * loader/appcache/ManifestParser.cpp: Added.
              * loader/appcache/ManifestParser.h: Added.
      
      WebKit/mac:
      
      2008-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Adam.
      
              Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
      
              * Configurations/WebKit.xcconfig:
      
      WebKit/win:
      
      2008-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Adam.
      
              Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
      
              * WebKit.vcproj/WebKit.vcproj:
      
      WebKitTools:
      
      2008-04-15  Anders Carlsson  <andersca@apple.com>
      
              Reviewed by Adam.
      
              Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
      
              * Scripts/build-webkit:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b8666938
  10. 23 Feb, 2008 1 commit
    • ddkilzer@apple.com's avatar
      WebCore: · 267da135
      ddkilzer@apple.com authored
              Please clarify licensing for some files
              <http://bugs.webkit.org/show_bug.cgi?id=14970>
      
              Reviewed by Darin.
      
              * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
              * bindings/objc/WebScriptObjectPrivate.h: Ditto.
              * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
      
      WebKit/mac:
      
              Please clarify licensing for some files
              <http://bugs.webkit.org/show_bug.cgi?id=14970>
      
              Reviewed by Darin.
      
              * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
              and added Apple BSD-style license.
              * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
      
      WebKitTools:
      
              Please clarify licensing for some files
              <http://bugs.webkit.org/show_bug.cgi?id=14970>
      
              Reviewed by Darin.
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: Added
              copyright statement.  Replaced license with newer Apple BSD-style license.
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Ditto.
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp: Ditto.
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h: Ditto.
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp: Ditto.
              * DumpRenderTree/win/TestNetscapePlugin/main.c: Ditto.
              * mangleme/LICENSE: Added (LGPL).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      267da135
  11. 30 Mar, 2007 2 commits
    • andersca's avatar
      Reviewed by Geoff. · b5e193f8
      andersca authored
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.c:
              (testAllocate):
              (testEnumerate):
              Add casts.
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h:
              Don't use #import, use #include.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5e193f8
    • andersca's avatar
      JavaScriptCore: · 77d5e0d0
      andersca authored
              Reviewed by Geoff.
      
              Implement _NPN_Enumerate support.
              
              * JavaScriptCore.exp:
              * bindings/NP_jsobject.cpp:
              (_NPN_Enumerate):
              * bindings/c/c_instance.cpp:
              (KJS::Bindings::CInstance::getPropertyNames):
              * bindings/c/c_instance.h:
              * bindings/npapi.h:
              * bindings/npruntime.h:
              * bindings/npruntime_impl.h:
              * bindings/runtime.h:
              (KJS::Bindings::Instance::getPropertyNames):
              * bindings/runtime_object.cpp:
              (RuntimeObjectImp::getPropertyNames):
              * bindings/runtime_object.h:
              (KJS::RuntimeObjectImp::getInternalInstance):
      
      LayoutTests:
      
              Reviewed by Geoff.
      
              Add enumeration test.
              
              * plugins/netscape-enumerate-expected.txt: Added.
              * plugins/netscape-enumerate.html: Added.
      
      WebKit:
      
              Reviewed by Geoff.
      
              * Plugins/WebNetscapePluginPackage.m:
              (-[WebNetscapePluginPackage load]):
              Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
              
              * Plugins/npapi.m:
              (NPN_PushPopupsEnabledState):
              (NPN_PopPopupsEnabledState):
              Add stubs for these functions.
              
              * Plugins/npfunctions.h:
              Add new methods to NPNetscapeFuncs.
      
      WebKitTools:
      
              Reviewed by Geoff.
      
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
              Add TestObject.c and TestObject.h
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              (pluginGetProperty):
              Implement the testObject property.
              
              (pluginInvoke):
              Implement testEnumerate which takes an object and an array and enumerates
              the properties of the object and adds them to the array.
              
              (pluginAllocate):
              Allocate the test object.
              
              (pluginDeallocate):
              Free the test object.
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.c: Added.
              * DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.h: Added.
              Add a test object with two enumerable properties.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77d5e0d0
  12. 29 Mar, 2007 1 commit
    • ggaren's avatar
      LayoutTests: · 2663f9a7
      ggaren authored
              Reviewed by Beth Dakin.
              
              Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
              -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
              navigating away from page with DivX movie plug-in (13203)
      
              * plugins/destroy-stream-twice-expected.txt: Added.
              * plugins/destroy-stream-twice.html: Added.
      
      WebKit:
      
              Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
              
              Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
              -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
              navigating away from page with DivX movie plug-in (13203)
              
              Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
              every time you run it.
      
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView destroyStream:reason:]):
      
      WebKitTools:
      
              Reviewed by Beth Dakin.
              
              Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
              -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
              navigating away from page with DivX movie plug-in (13203)
              
              Added hasStream property and destroyStream function, used by layout test.
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              (pluginGetProperty):
              (pluginInvoke):
              (pluginAllocate):
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
              (NPP_NewStream):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2663f9a7
  13. 05 Mar, 2007 1 commit
    • andersca's avatar
      LayoutTests: · 526c36f0
      andersca authored
              Reviewed by Adam, Darin.
      
              <rdar://problem/5025212>
              In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
      
              * plugins/get-url-with-blank-target-expected.txt: Added.
              * plugins/get-url-with-blank-target.html: Added.
      
      WebKit:
      
              Reviewed by Adam, Darin.
       
              <rdar://problem/5025212>
              In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
      
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
              in that case so we can catch it.
      
      WebKitTools:
      
              Reviewed by Adam, Darin.
      
              <rdar://problem/5025212>
              In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
              
              Add a "getURLNotify" method to the plugin object. This lets you pass a URL, a target and a callback function
              to be run when the URL has finished (or failed) loading.
              
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              (pluginInvoke):
              (handleCallback):
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
              (NPP_URLNotify):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      526c36f0
  14. 06 Nov, 2006 1 commit
    • ap's avatar
      Reviewed by Maciej. · fdfb9d6f
      ap authored
              http://bugs.webkit.org/show_bug.cgi?id=11517
              REGRESSION: Flash clicks/interactivity not working properly
      
      WebCore:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::handleMouseMoveEvent):
              (WebCore::FrameMac::handleMouseReleaseEvent):
              Restore parts of event dispatching that were removed when fixing
              bug 7323 - just bypass those for subframes.
      
      WebKitTools:
              Teach TestNetscapePlugin to log events passed to it. To enable, set eventLoggingEnabled to true:
      
              <embed name="plg" type="application/x-webkit-test-netscape" width=100 height=100></embed>
              <script>
                  plg.eventLoggingEnabled = true;
                  // use eventSender to simulate events...
              </script>
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              (pluginGetProperty):
              (pluginSetProperty):
              (pluginAllocate):
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
              (NPP_HandleEvent):
      
      LayoutTests:
              * plugins/mouse-events-expected.txt: Added.
              * plugins/mouse-events.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fdfb9d6f
  15. 09 Mar, 2006 1 commit
    • darin's avatar
      Reviewed by John Sullivan. · 24fbf130
      darin authored
              - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7681
                memory leak in the plug-in tests
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c:
              (NPP_Destroy): Added code to release the plug-in object. This is the leak fix.
              (NPP_SetWindow): Remove unneeded code to store the window pointer.
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c:
              Moved the browser global in here since it's declared in this file's header.
              Changed the code to set up the pluginClass structure to not use function
              pointer casts. Those are dangerous because they can hide many types of mismatch.
              And indeed when I did this I discovered that many functions were missing their
              boolean return values or had parameter declarations with the wrong types.
              (pluginGetProperty): Use STRINGZ_TO_NPVARIANT macro for greater simplicity and
              clarity. Added boolean return value: return true when successful and false when not.
              (pluginSetProperty): Added boolean return value, return false since we have no
              properties we can set.
              (pluginInvoke): Added boolean return value. Return true when successful and false
              when not. Use NPVARIANT macros where appropriate. Added a missing release for the
              return value from calling the browser. Changed code to put the strings in malloc
              buffers instead of relying on GCC's extension that allows variable-sized arrays
              on the stack.
              (pluginInvokeDefault): Added boolean return value, return false since we have no
              default function to call.
              (pluginInvalidate): Added missing parameter. Removed comment.
              (pluginAllocate): Removed unneeded cast. This is C code, not C++, so you don't have
              to cast the result of malloc.
              (pluginDeallocate): Removed uneeded cast.
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Removed some unneeded
              includes. Changed our PluginObject to use NPObject instead of re-declaring fields
              that match NPObject's fields. Removed unused NPWindow pointer.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24fbf130
  16. 05 Jan, 2006 1 commit
    • ggaren's avatar
      LayoutTests: · 7dd73f87
      ggaren authored
              Layout test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6318
              REGRESSION: Repro crash in JS called from Flash on bdash.net.nz
      
              * fast/plugins/netscape-back-forward-expected.txt: Added.
              * fast/plugins/netscape-back-forward.html: Added.
              * fast/plugins/resources/go-back.html: Added.
      
      WebKit:
      
              Reviewed by Darin.
      
              - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6361
              Add plugin support to DumpRenderTree
      
              * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree
              needs to add plugins to the runtime.
      
      WebKitTools:
      
              Reviewed by darin.
      
              - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6361
              Add plugin support to DumpRenderTree
      
              Also wrote first test plugin.
      
              * DumpRenderTree/DumpRenderTree.m:
              (main):
              (1) Put the WebView in an invisible window, because PlugIns are
              optimized not to load if there's no parent window.
              (2) Tell WebKit to load any PlugIns in the directory from which we
              loaded. This means we can build nasty PlugIns alongside DumpRenderTree
              and they'll load automagically during layout testing, but they won't be
              added to the user's system, hosing apps like Safari.
      
              * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added new
              test PlugIn to project.
      
              PlugIn added to project:
      
              * DumpRenderTree/TestNetscapePlugIn.subproj/Info.plist: Added.
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c: Added.
              (getPluginClass):
              (initializeIdentifiers):
              (pluginHasProperty):
              (pluginHasMethod):
              (pluginGetProperty):
              (pluginSetProperty):
              (pluginInvoke):
              (pluginInvokeDefault):
              (pluginInvalidate):
              (pluginAllocate):
              (pluginDeallocate):
              * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h: Added.
              * DumpRenderTree/TestNetscapePlugIn.subproj/main.c: Added.
              (NP_Initialize):
              (NP_GetEntryPoints):
              (NP_Shutdown):
              (NPP_New):
              (NPP_Destroy):
              (NPP_SetWindow):
              (NPP_NewStream):
              (NPP_DestroyStream):
              (NPP_WriteReady):
              (NPP_Write):
              (NPP_StreamAsFile):
              (NPP_Print):
              (NPP_HandleEvent):
              (NPP_URLNotify):
              (NPP_GetValue):
              (NPP_SetValue):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@11885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dd73f87