Timeline



May 20, 2005:

2:03 PM Changeset in webkit [9184] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Chris.

  • fixed <rdar://problem/4126160> Crash sending mouse-exited event after reloading page with resizable textarea
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView resetCursorRects]): This was some side effect of tracking rect code used for resizable textareas. I discovered that I didn't need the tracking rect code at all (at least to achieve the level of only-somewhat-working cursor behavior that I already had). Removing it caused the bug to vanish.
1:50 PM Changeset in webkit [9183] by cblu
  • 4 edits in trunk/WebKit

Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted

Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.

Reviewed by sullivan.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate methods are called and the data is saved as a WebResource for resources in the WebCore cache.

(-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
for synchronous loads

  • WebView.subproj/WebFrame.m: (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called for subresrources in the page cache

(-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
This method calls identifierForInitialRequest and willSendRequest.

(-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
This method calls the remaining resource load delegate messages.

(-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]

  • WebView.subproj/WebFrameInternal.h:

May 19, 2005:

2:57 PM Changeset in webkit [9182] by darin
  • 4 edits in trunk

JavaScriptCore:

Reviewed by Maciej.

  • turned off exceptions and RTTI; seems to cut JavaScriptCore code size by about 22%
  • JavaScriptCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for both the framework and testkjs tool.

WebCore:

Reviewed by Maciej.

  • turned off exceptions and RTTI; seems to cut WebCore code size by about 35%
  • WebCore.pbproj/project.pbxproj: Turn off exceptions and RTTI for the framework.
11:32 AM Changeset in webkit [9181] by darin
  • 2 edits in trunk/WebCore

Reviewed by Chris Petersen.

  • fixed a mistake I introduced in my previous check-in that caused a Deployment build failure
  • kwq/DOM.mm: (-[DOMDocument createTreeWalker::::]): Initialize cppFilter to 0, which fixes both the build failure and a potential bug!

May 18, 2005:

5:53 PM Changeset in webkit [9180] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • got rid of code that depended on RTTI
  • kjs/collector.cpp: (KJS::className): Added. Gets class name in a KJS way, rather than a C++ RTTI way. (KJS::Collector::rootObjectClasses): Use className instead of typeid names.
5:50 PM Changeset in webkit [9179] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fix a failure seen in the Mozilla JavaScript tests where a live object was garbage-collected when the only reference to it was in an argList on the stack
  • kjs/list.h: Moved the operator= function into the .cpp file since it's too big to be a good choice to inline.
  • kjs/list.cpp: (KJS::List::operator=): Moved this formerly-inline function into a separate file and added missing code to update valueRefCount. It's the latter that fixes the bug.
2:10 PM Changeset in webkit [9178] by darin
  • 25 edits in trunk/WebCore

Reviewed by Maciej.
No new layout tests required.

  • remove all dependencies on exceptions and RTTI (but don't turn them off yet, that will be in a later patch)
  • WebCore.pbproj/project.pbxproj: Set a new KHTML_NO_CPLUSPLUS_DOM define. Removed all C++ DOM wrapper files that we don't need to compile any more.
  • khtml/dom/css_stylesheet.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any headers when including this file.
  • khtml/dom/dom2_events.h: Fixed up KHTML_NO_CPLUSPLUS_DOM checks so that everything but EventListener is turned off when that's on. Also moved the public so that the constants from KeyboardEvent are public.
  • khtml/dom/dom2_events.cpp: Put everything except for EventListener inside KHTML_NO_CPLUSPLUS_DOM.
  • khtml/dom/dom2_range.h: Added KHTML_NO_CPLUSPLUS_DOM checks so that only the constants are defined, no classes.
  • khtml/dom/dom2_traversal.cpp: Put everything except for NodeFilterCondition inside KHTML_NO_CPLUSPLUS_DOM.
  • khtml/dom/dom_node.h: Added more KHTML_NO_CPLUSPLUS_DOM checks so we don't include any headers when including this file.
  • khtml/ecma/kjs_binding.cpp: (KJS::DOMObject::get): Removed exception-handling code. Now we can eliminate tryGet altogether. (KJS::DOMObject::put): Ditto. (KJS::DOMFunction::get): Ditto. (KJS::DOMFunction::call): Ditto.
  • khtml/editing/visible_text.h: Added an include of <qstring.h>.
  • khtml/misc/loader.h: Added isKHTMLLoader.
  • khtml/misc/loader.cpp: (Loader::isKHTMLLoader): Added. Poor-man's replacement for dynamic_cast.
  • khtml/rendering/render_form.h:
  • khtml/rendering/render_form.cpp: (RenderFormElement::slotTextChanged): Added. Hack to make KWQSlot work for this function.
  • khtml/xml/dom2_rangeimpl.h: Added a forward declaration of class DOMString, needed now that the C++ DOM wrappers aren't defining it.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler): Changed to call handleEventImpl so we don't have to make the C++ DOM wrapper for the event.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::handleLocalEvents): Ditto. (ContainerNodeImpl::insertBefore): Used SharedPtr<NodeImpl> rather than Node to protect the child node. (ContainerNodeImpl::replaceChild): Ditto. (ContainerNodeImpl::appendChild): Ditto. (ContainerNodeImpl::addChild): Ditto.
  • kwq/DOM.mm: (ObjCNodeFilterCondition::acceptNode): Update to add a KHTML_NO_CPLUSPLUS_DOM check since FilterCondition has a different API depending on the state. (-[DOMDocument createNodeIterator::::]): Rewrote to use NodeFilterImpl instead of NodeFilter. (-[DOMDocument createTreeWalker::::]): Ditto.
  • kwq/KWQAccObject.mm: (-[KWQAccObject role]): Use identifier instead of casting to Node and using elementId. (-[KWQAccObject title]): Ditto. (-[KWQAccObject accessibilityIsIgnored]): Ditto. (-[KWQAccObject rendererForView:]): Ditto.
  • kwq/KWQFrame.mm: (QFrame::setFrameStyle): Use isKHTMLView instead of dynamic_cast.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::currentForm): Use focusNode instead of activeNode. (KWQKHTMLPart::nextKeyViewInFrame): Use isWidget instead of dynamic_cast. (KWQKHTMLPart::currentEventIsMouseDownInWidget): Use KHTMLView's nodeUnderMouse instead of our public one that uses a DOM C++ wrapper. (KWQKHTMLPart::partForWidget): Use isKHTMLView instead of dynamic_cast. (KWQKHTMLPart::passSubframeEventToSubframe): Use isWidget instead of dynamic_cast.
  • kwq/KWQObject.h: Made isXXX functions all public since we use them in a few more places now. Also added isKHTMLLoader.
  • kwq/KWQObject.mm: (QObject::isKHTMLLoader): Added. Returns false by default.
  • kwq/KWQSlot.mm: Removed all uses of dynamic_cast.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge stringForRange:]): Used plainText instead of text. (-[WebCoreBridge copyRenderNode:copier:]): Used isWidget instead of dynamic_cast.

May 17, 2005:

10:55 AM Changeset in webkit [9177] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control

Reviewed by mjs.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer] (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
  • WebView.subproj/WebTextView.m: (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
9:28 AM Changeset in webkit [9176] by cblu
  • 5 edits in trunk/WebKit

WebKit:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

Reviewed by mjs.

  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error

WebBrowser:

Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead

  • BrowserWebView.m: (-[BrowserWebView webView:decidePolicyForMIMEType:request:frame:decisionListener:]): download remote web archives
Note: See TracTimeline for information about the timeline view.