12 years agoFixes a crash when stepping out in the Inspector's debugger.
timothy@apple.com [Wed, 14 May 2008 01:44:59 +0000 (01:44 +0000)]
Fixes a crash when stepping out in the Inspector's debugger.


Reviewed by Dan Bernstein.

* page/InspectorController.cpp:
(WebCore::currentCallFrame): Adds a null check of currentCallFrame,
since it can be null. Also returns JSNull to better signify this.
* page/inspector/ScriptsPanel.js: Updates the debugger interface
when stepping so the currentCallFrame isn't accessed when not paused.
Adds a _clearInterface function to remove duplicate code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Wed, 14 May 2008 01:29:21 +0000 (01:29 +0000)]
2008-05-13  Matt Lilek  <webkit@mattlilek.com>

        Not reviewed, build fix.

        * kjs/date_object.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 14 May 2008 00:46:41 +0000 (00:46 +0000)]
2008-05-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Don't empty the application cache in _setCacheModel, since it will be called during initialization.
        Instead, do it in [WebCache empty].

        * Misc/WebCache.mm:
        (+[WebCache empty]):
        * WebView/WebView.mm:
        (+[WebView _setCacheModel:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Wed, 14 May 2008 00:38:21 +0000 (00:38 +0000)]
2008-05-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        <rdar://problem/5933644> Implement Date.now

        Implement Date.now which returns the number of milliseconds since the epoch.

        * kjs/CommonIdentifiers.h:
        * kjs/date_object.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle
cfleizach@apple.com [Tue, 13 May 2008 23:55:41 +0000 (23:55 +0000)]
<rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/4780592> WebKit application has its window announced as HTML content
cfleizach@apple.com [Tue, 13 May 2008 23:11:08 +0000 (23:11 +0000)]
<rdar://problem/4780592> WebKit application has its window announced as HTML content

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRestore some ChangeLog entries that were deleted in r33395
aroben@apple.com [Tue, 13 May 2008 22:58:59 +0000 (22:58 +0000)]
Restore some ChangeLog entries that were deleted in r33395

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds an overlay window that covers the scripts panel and
timothy@apple.com [Tue, 13 May 2008 22:31:45 +0000 (22:31 +0000)]
Adds an overlay window that covers the scripts panel and
informs the user that they need to attach the debugger.
Provides an "Attach Debugger" button below the info text.

Reviewed by Dan Bernstein.

* English.lproj/localizedStrings.js: New strings.
* page/inspector/ScriptsPanel.js:
(WebInspector.ScriptsPanel): Create the overlay elements and
append to the main panel element.
* page/inspector/inspector.css: New styles for the over lay elements.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFixes a crash seen in Xcode where CallUIDelegateReturningBoolean
timothy@apple.com [Tue, 13 May 2008 22:31:34 +0000 (22:31 +0000)]
Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
was referencing a nil WebView under validateUserInterfaceItem.
The validateUserInterfaceItem methods was being called at a time
when the WebHTMLView is being torndown.

<rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
while mousing down on menu bar after Xcode News window is opened

Reviewed by Ada Chan.

* WebView/WebHTMLView.mm:
(-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
return NO when it is nil. Adds a comment.
* WebView/WebPDFView.mm:
(-[WebPDFView validateUserInterfaceItem:]): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFixes the assertion and crash that would happen when inspecting a element from a...
timothy@apple.com [Tue, 13 May 2008 22:31:22 +0000 (22:31 +0000)]
Fixes the assertion and crash that would happen when inspecting a element from a frame.
This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
crashing in release builds if the page groups don't match.

Passes all the tests in: manual-tests/inspector-wrappers

Reviewed by Adam Roben.

* bindings/js/JSInspectedObjectWrapper.cpp:
(WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.
* bindings/js/JSQuarantinedObjectWrapper.cpp:
(WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
Return true if the pageGroupIdentifier of both wrappers match.
(WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.
* bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFixes the hang that could happen when option-clicking to expand
timothy@apple.com [Tue, 13 May 2008 22:31:11 +0000 (22:31 +0000)]
Fixes the hang that could happen when option-clicking to expand
a disclosure triangle in the Properties pane. This change limits
the recursion depth when expanding the tree elements.

<rdar://problem/5847681> Safari hangs when option-clicking a
disclosure triangle in the Inspector's Properties pane

Reviewed by John Sullivan.

* page/inspector/treeoutline.js:
(TreeElement.prototype.expandRecursively): Pass an empty info object to
traverseNextTreeElement to get the depthChange value. This is used to
compute a current depth. If the depth exceeds the maxDepth argument, the
item isn't expanded and children wont be populated when traverseNextTreeElement
is called until the depth goes below the maxDepth.
(TreeElement.prototype.traverseNextTreeElement): Added a new info
argument that can be optionally used to return extra info like depth change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33413 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds info text to panes and sections in the Inspector's sidebars
timothy@apple.com [Tue, 13 May 2008 22:30:59 +0000 (22:30 +0000)]
Adds info text to panes and sections in the Inspector's sidebars
that would normally be empty. These help the user know why there
is nothing in these sections.

Reviewed by John Sullivan.

* English.lproj/localizedStrings.js: Add strings.
* page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
* page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
* page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
* page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
* page/inspector/inspector.css: Adds style rules for the info elements.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoImplements the rest of the Scripts panel to get the debugger
timothy@apple.com [Tue, 13 May 2008 22:30:45 +0000 (22:30 +0000)]
Implements the rest of the Scripts panel to get the debugger
mostly working. "Basic debugging seems to work."

Reviewed by Geoff Garen.

* English.lproj/localizedStrings.js: Adds new strings.
* page/inspector/Resource.js:
(WebInspector.Resource.prototype.get scripts): Returns _scripts and
creates it lazily.
(WebInspector.Resource.prototype.addScript): Add the script object to the
front of the _scripts array.
(WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
and removes the resource back-reference.
(WebInspector.Resource.prototype.removeScript): Removes the script and
breaks the resource back-reference.
* page/inspector/ResourceView.js:
(WebInspector.ResourceView): Adds a reminder comment.
(WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible.
(WebInspector.ResourceView.prototype.set headersVisible): Stubs out
a setter that currently just sets _headersVisible. Has a comment that
points out this needs implemented when network headers are added.
* page/inspector/ResourcesPanel.js:
(WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
the visible view to true and shows it again, in case it was being shown in Scripts.
Copies the headersVisible property from the old view to the new view.
(WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
property to true before showing.
* page/inspector/ScriptView.js:
(WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
(WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
for the current Script.sourceID and line.
* page/inspector/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
the visible view to false and shows it again, in case it was being shown in Resources.
(WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
adds it to a Resource if one is found. Registers any breakpoint that match
the new Script's source URL, and sets the sourceID of the breakpoints.
(WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
represents the resources or script.
(WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
(WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
state variables, the buttons and the CallStackSidebarPane.
(WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
and interface state.
(WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
(WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
calls hide on the old view and show on the new view.
(WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
(WebInspector.ScriptsPanel.prototype.showResource): Ditto.
(WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
ScriptView for the Script and returns it.
(WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
for the Script.
(WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
SourceFrame based on the type of object passed in.
(WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
the type of object passed in. If the object is a resource and there are breakpoints
defined for that Resource URL, then populate the SourceFrame with the breakpoints.
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the
files menu. If the Script is part of a resource, that resource is added.
(WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
the files menu. If that script is part of a resource and it is the last script of that
resource, then remove the whole resource.
(WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
line from the SourceFrame that is showing it.
(WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
and the visible view.
(WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
of the files select element.
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the
buttons to reflect the current debugger state. Updates the status text too.
(WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
the debugger is attached/detached.
(WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
InspectorController.pauseInDebugger depending on the paused state.
(WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
(WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
(WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.
* page/inspector/SourceView.js:
(WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
(WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
for the nearest Script's sourceID and passed in line.
* page/inspector/inspector.css: New style rules for the UI changes.
* page/inspector/inspector.js:
(WebInspector.loaded): Add the ScriptsPanel to the panels list.
(WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
(WebInspector.failedToParseScriptSource): Ditto.
(WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds implementations of the Scope Chain and Call Stack sidebar panes.
timothy@apple.com [Tue, 13 May 2008 22:30:29 +0000 (22:30 +0000)]
Adds implementations of the Scope Chain and Call Stack sidebar panes.
These panes use the JSJavaScriptCallFrame object that will be passed
to the update functions.

Reviewed by Kevin McCullough.

* English.lproj/localizedStrings.js: Adds new strings.
* WebCore.vcproj/WebCore.vcproj: Adds new files.
* page/inspector/CallStackSidebarPane.js:
(WebInspector.CallStackSidebarPane.prototype.update): Walk the
caller chain of the call frame and make placards for each.
(WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
Return _selectedCallFrame.
(WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
Set _selectedCallFrame and dispatch the "call frame selected" event.
Set the selectedCallFrame based on the clicked placard.
* page/inspector/Placard.js: Added. A user interface object that can
be used to show a title and a subtitle block with a selected state.
* page/inspector/ScopeChainSidebarPane.js: Added.
(WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
(WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
call frame's scope chain and make ObjectPropertiesSections for each.
* page/inspector/SidebarPane.js:
(WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.
* page/inspector/WebKit.qrc: Add new files.
* page/inspector/inspector.css: Add placard styles.
* page/inspector/inspector.html: Add new files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFixes the bug where SourceViews would be blank if shown before
timothy@apple.com [Tue, 13 May 2008 22:30:16 +0000 (22:30 +0000)]
Fixes the bug where SourceViews would be blank if shown before
the Resource finished loading.

<rdar://problem/5807420> Safari's Web Inspector won't display the
contents of some CSS and JS files

Reviewed by Kevin McCullough.

* page/inspector/Resource.js:
(WebInspector.Resource.prototype.set finished): Dispatch the finished event
(WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.
* page/inspector/SourceView.js:
(WebInspector.SourceView): Register for the finished event on the resource.
When the event fires, setup the source frame and deregister the event.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFactored most of SourceView out into SourceFrame so it can be shared
timothy@apple.com [Tue, 13 May 2008 22:30:05 +0000 (22:30 +0000)]
Factored most of SourceView out into SourceFrame so it can be shared
by the new ScriptView. Added the ScriptView class to be used for
scripts that arn't Resources (like eval code.) Added a simple Script
object that hold the data from the debugger parsedSource hooks. A
ScriptView holds a Script object, and uses it for source data.

Added breakpoint and execution line support to the SourceFrame
where they are visually represented in the source.

Reviewed by Kevin McCullough.

* page/inspector/inspector.js:
(WebInspector.performSearch): Change the caller of sourceFrameForResource
to use the SourceFrame result's element property.
* page/inspector/ResourcesPanel.js: Use the new SourceFrame.
* page/inspector/Script.js: Added.
* page/inspector/ScriptView.js: Added.
* page/inspector/SourceFrame.js: Added.
* page/inspector/SourceView.js: Use the new SourceFrame.
* WebCore.vcproj/WebCore.vcproj: Add new files.
* page/inspector/WebKit.qrc: Ditto.
* page/inspector/inspector.html: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds a Breakpoint object and basic add/remove functions on
timothy@apple.com [Tue, 13 May 2008 22:29:53 +0000 (22:29 +0000)]
Adds a Breakpoint object and basic add/remove functions on
BreakpointsSidebarPane that call the InspectorController to
add/remove the breakpoint.

Reviewed by Kevin McCullough.

* page/inspector/Breakpoint.js:
(WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
(WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
dispatch the enabled/disabled event to listeners.
* page/inspector/BreakpointsSidebarPane.js:
(WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
Adds the breakpoint to the breakpoints array. Registers for the disabled
and enabled event types. Call InspectorController.addBreakpoint if attached.
Removes the breakpoint from the breakpoints array. Deregisters for the disabled
and enabled event types. Call InspectorController.removeBreakpoint if attached.
Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
depending on the enabled state of the breakpoint.
* WebCore.vcproj/WebCore.vcproj: Add new files.
* page/inspector/WebKit.qrc: Ditto.
* page/inspector/inspector.html: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMake addSourceToFrame not dependent on InspectorResource so it
timothy@apple.com [Tue, 13 May 2008 22:29:42 +0000 (22:29 +0000)]
Make addSourceToFrame not dependent on InspectorResource so it
can be used to add source of a passed in string and mime-type to
a frame. Added addResourceSourceToFrame for use by SourceView.

Also fixes an assertion because of an incorrect static_cast of identifiers
to unsigned long long, when they can be unsigned.

Reviewed by Geoff Garen.

* page/InspectorController.cpp:
(WebCore::addSourceToFrame): Helper function used by addSourceToFrame
and addResourceSourceToFrame.
(WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
(WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
(WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
(WebCore::InspectorController::windowScriptObjectAvailable): Adds
addResourceSourceToFrame to the JavaScript class.
* page/inspector/SourceView.js: Use the new addResourceSourceToFrame.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd debugger related functions to the InspectorController and
timothy@apple.com [Tue, 13 May 2008 22:29:31 +0000 (22:29 +0000)]
Add debugger related functions to the InspectorController and
expose them to the JavaScript side of InspectorController.

Reviewed by Geoff Garen.

* page/InspectorController.cpp:
(WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
(WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
(WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
(WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
(WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
(WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
(WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
(WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
(WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
(WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
InspectorController JavaScript class.
(WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
(WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
(WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
(WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
(WebCore::InspectorController::stepOverStatementInDebugger):  Call JavaScriptDebugServer's stepOverStatement.
(WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
(WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
(WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
(WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
(WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
(WebCore::InspectorController::failedToParseSource): Ditto.
(WebCore::InspectorController::didPause): Ditto.
* page/InspectorController.h: Add new functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoImplements more debugger APIs on JavaScriptDebugServer and reduces
timothy@apple.com [Tue, 13 May 2008 22:29:19 +0000 (22:29 +0000)]
Implements more debugger APIs on JavaScriptDebugServer and reduces
the number of callbacks to JavaScriptDebugListeners. These changes
will better facilitate debugger optimizations when SquirrelFish merges.

Reviewed by Kevin McCullough.

* page/InspectorController.cpp:
(WebCore::InspectorController::didParseSource): Removed the ExecState.
(WebCore::InspectorController::failedToParseSource): Ditto.
(WebCore::InspectorController::didPause): Added.
* page/InspectorController.h: Changed the JavaScriptDebugListener functions.
* page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
* page/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
(WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
(WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
(WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
global listeners or a listener for the page.
(WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
(WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
(WebCore::JavaScriptDebugServer::hasBreakpoint):  Checks if there is a breakpoint for the
sourceID and line.
(WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
(WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
(WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
(WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
m_pauseOnNextStatement to true.
(WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
the current call frame's ExecState.
(WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
the current call frame's caller ExecState.
(WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
(WebCore::dispatchDidParseSource): Removed the ExecState argument.
(WebCore::dispatchFailedToParseSource): Ditto.
(WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
or dispatchFailedToParseSource.
(WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
to the callback.
(WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
to pause parts of WebCore to prevent JavaScript execution while paused.
(WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
Calls didPause on all the listeners and spins a EventLoop until resume is called.
(WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
(WebCore::JavaScriptDebugServer::atStatement): Ditto.
(WebCore::JavaScriptDebugServer::returnEvent): Ditto.
(WebCore::JavaScriptDebugServer::exception): Ditto.
* page/JavaScriptDebugServer.h: Added new functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoChange View.show to call detach if the parentNode dosen't
timothy@apple.com [Tue, 13 May 2008 22:29:08 +0000 (22:29 +0000)]
Change View.show to call detach if the parentNode dosen't
match before appending to the passed in parent element.
This also prevents appending to the same parent element
multiple times.

Reviewed by John Sullivan.

* page/inspector/FontView.js:
(WebInspector.FontView.prototype.show): Pass the parent element to View.show.
* page/inspector/ResourceView.js: Optimize the attach method to no append if
there is a parentNode already.
* page/inspector/SourceView.js: Ditto.
* page/inspector/View.js: Call detach before appending if the parentNode
doesn't match the passed in element.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoOptimize the panel attach method to no append if there is a
timothy@apple.com [Tue, 13 May 2008 22:28:55 +0000 (22:28 +0000)]
Optimize the panel attach method to no append if there is a
parentNode already.

Reviewed by Adam Roben.

* page/inspector/Panel.js:
(WebInspector.Panel.prototype.attach): Don't append to main-panels
if the panel element already has a parentNode.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd Widget::isPluginView so the JavaScriptDebugServer can identify
timothy@apple.com [Tue, 13 May 2008 22:28:44 +0000 (22:28 +0000)]
Add Widget::isPluginView so the JavaScriptDebugServer can identify
plugins that need to be paused during debugging. This will be used
in a upcoming commit.

Reviewed by Kevin McCullough.

* platform/Widget.h: Add isPluginView. Return false.
* plugins/PluginView.h: Add isPluginView. Return true.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds an event loop abstraction to platform. This abstraction will be
timothy@apple.com [Tue, 13 May 2008 22:28:32 +0000 (22:28 +0000)]
Adds an event loop abstraction to platform. This abstraction will be
used by the JavaScriptDebugServer to implement pausing.

Reviewed by Kevin McCullough.

* platform/EventLoop.h: Added.
(WebCore::EventLoop::ended): Return m_ended.
* platform/mac/EventLoopMac.mm: Added.
(WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.
* platform/win/EventLoopWin.cpp: Added.
(WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.
* WebCore.xcodeproj/project.pbxproj: Add new files.
* WebCore.vcproj/WebCore.vcproj: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBreaks out ObjectPropertiesSection from PropertiesSidebarPane
timothy@apple.com [Tue, 13 May 2008 22:28:20 +0000 (22:28 +0000)]
Breaks out ObjectPropertiesSection from PropertiesSidebarPane
so it can be used by the Scripts panel's Scope Chain pane.

Rubber-stamped by Adam Roben.

* page/inspector/ObjectPropertiesSection.js: Added.
* page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection
to ObjectPropertiesSection.js.
* WebCore.vcproj/WebCore.vcproj: Add the new file.
* page/inspector/WebKit.qrc: Ditto.
* page/inspector/inspector.html: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd a helper function to the Inspector's Array prototype
timothy@apple.com [Tue, 13 May 2008 22:28:09 +0000 (22:28 +0000)]
Add a helper function to the Inspector's Array prototype
that will remove any identical values/objects from the array.

Reviewed by Kevin McCullough.

* page/inspector/utilities.js:
(Array.prototype.remove): Iterate over the array and strict
compare to the passed in value. If they match, splice that index
out of the array. If onlyFirst is true, return after the first splice.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdds a JavaScriptCallFrame object and JavaScript binding with an IDL.
timothy@apple.com [Tue, 13 May 2008 22:27:57 +0000 (22:27 +0000)]
Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
This object will expose the stack to the Inspector's debugger.

Reviewed by Adam Roben.

* DerivedSources.make: Add JavaScriptCallFrame.
* bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.
(WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
(WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.
* page/JavaScriptCallFrame.cpp: Added.
(WebCore::JavaScriptCallFrame::caller): Returns m_caller.
(WebCore::JavaScriptCallFrame::functionName): Returns the function
name from the ExecState if this is not global code or anonymous.
(WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
in the scope of the call frame.
* page/JavaScriptCallFrame.h: Added.
(WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
(WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
stale ExecState from being accessed after the lifetime of the ExecState.
(WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
(WebCore::JavaScriptCallFrame::execState): Returns m_exec.
(WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
(WebCore::JavaScriptCallFrame::line): Returns m_line.
(WebCore::JavaScriptCallFrame::setLine): Sets m_line.
(WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().
* page/JavaScriptCallFrame.idl: Added.
* WebCore.xcodeproj/project.pbxproj: Add new files.
* WebCore.vcproj/WebCore.vcproj: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdd a new WebInspector.Object base class that will be used for
timothy@apple.com [Tue, 13 May 2008 22:27:44 +0000 (22:27 +0000)]
Add a new WebInspector.Object base class that will be used for
a few objects in the Web Inspector to support listeners on any
object. This will help add more abstraction to the Inspector.

Reviewed by Adam Roben.

* page/inspector/Object.js: Added.
(WebInspector.Object): Does nothing.
(WebInspector.Object.prototype.addEventListener): Adds the listener to
the _listeners map by type. Supports a this object argument, for easy
addition of listeners without the need for bind.
(WebInspector.Object.prototype.removeEventListener): Remove the listener
from the _listeners map. If the listener is null and the thisObject was
passed, remove any listener for that thisObject.
(WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
for a type to all listeners for that type. Mimics some of the DOMEvent
methods and properties for the event object passed to the listeners.
* WebCore.vcproj/WebCore.vcproj: Add new files.
* page/inspector/WebKit.qrc: Ditto.
* page/inspector/inspector.html: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate the view source CSS to better match the new Inspector mock-ups.
timothy@apple.com [Tue, 13 May 2008 22:27:33 +0000 (22:27 +0000)]
Update the view source CSS to better match the new Inspector mock-ups.

Reviewed by Kevin McCullough.

* css/view-source.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Neuter WebScriptDebugServer
aroben@apple.com [Tue, 13 May 2008 21:51:26 +0000 (21:51 +0000)]
    Neuter WebScriptDebugServer

        Some upcoming changes to JavaScriptDebugServer and
        JavaScriptDebugListener will break WebScriptDebugServer. Since Drosera
        is being replaced by the Inspector's debugger, and Drosera is the only
        client of WebScriptDebugServer, it makes more sense to get rid of
        WebScriptDebugServer than to update it to keep it working.

        We can't actually remove WebScriptDebugServer entirely yet, so I've
        just made it non-functional. This will completely break Drosera, but
        as stated above, Drosera's days are numbered anyway.

        Reviewed by Tim Hatcher and Kevin McCullough.

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::dispatchDidLoadMainResource): Removed all code
        in this function.
        * WebKitDLL.cpp:
        (LocalServerDidDie): Ditto.
        * WebScriptDebugServer.cpp: Made all IWebScriptDebugServer functions
        return E_NOTIMPL.
        * WebScriptDebugServer.h: Removed everything but the
        IWebScriptDebugServer functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
sullivan@apple.com [Tue, 13 May 2008 21:32:18 +0000 (21:32 +0000)]

2008-05-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Dan Bernstein and Kevin Decker

        - fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind

        Test: fast/forms/select-type-ahead-list-box-no-selection.html

        * html/HTMLSelectElement.cpp:
        When there's no initially-selected element, we were accessing index -1. Check for this
        case and start at 0.


2008-05-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Justin Garcia and Tim Hatcher

        <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind

        * fast/forms/select-type-ahead-list-box-no-selection-expected.txt: Added.
        * fast/forms/select-type-ahead-list-box-no-selection.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 13 May 2008 21:25:00 +0000 (21:25 +0000)]
2008-05-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Small cleanup to XMLHttpRequest in preparation for Access Control changes.

        * xml/XMLHttpRequest.cpp:
        * xml/XMLHttpRequest.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Tue, 13 May 2008 21:23:59 +0000 (21:23 +0000)]
2008-05-13  Kevin McCullough  <kmccullough@apple.com>

        Giving credit where credit is due.

        * ChangeLog:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h...
mrowe@apple.com [Tue, 13 May 2008 21:23:36 +0000 (21:23 +0000)]
<rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework

Reviewed by John Sullivan.

* Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
* Carbon/HIWebView.m: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Tue, 13 May 2008 21:18:02 +0000 (21:18 +0000)]
2008-05-13  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5770054> JavaScript profiler (10928)
        Use PassRefPtrs instead of RefPtrs when appropriate.

        * profiler/FunctionCallProfile.cpp:
        * profiler/FunctionCallProfile.h:
        * profiler/Profile.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33388 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the altern...
cfleizach@apple.com [Tue, 13 May 2008 20:58:30 +0000 (20:58 +0000)]
<rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.

If an image has an alt tag, it should not be ignored

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5908446> AX: webkit needs to return blockquote information for all...
cfleizach@apple.com [Tue, 13 May 2008 20:55:49 +0000 (20:55 +0000)]
<rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33385 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by John Sullivan.
ap@webkit.org [Tue, 13 May 2008 20:50:07 +0000 (20:50 +0000)]
    Reviewed by John Sullivan.

        <rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
        (ISO 8859-11) disappear.

        <rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register ISO-8859-11, which doesn't have a standard IANA name, despite following
        the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33384 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Tue, 13 May 2008 19:35:31 +0000 (19:35 +0000)]
2008-05-13  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Sam.

        <rdar://problem/5770054> JavaScript profiler (10928)
        - Made some functions static (as per Adam) and changed from using raw
        pointers to RefPtr for making these JavaScript Objects.

        * profiler/FunctionCallProfile.cpp:
        * profiler/FunctionCallProfile.h:
        * profiler/Profile.cpp:
        * profiler/Profile.h:
        * profiler/Profiler.cpp:
        * profiler/Profiler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRe: [PFR] <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there...
cfleizach@apple.com [Tue, 13 May 2008 19:35:09 +0000 (19:35 +0000)]
Re: [PFR] <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Eric Seidel.
ap@webkit.org [Tue, 13 May 2008 18:36:58 +0000 (18:36 +0000)]
    Reviewed by Eric Seidel.

        <rdar://problem/5888130> WebKit should not remove BOM characters from content.

        We were only trying to match Firefox, and it doesn't do this any more.

        Tests: fast/encoding/bom-in-content.html

        * platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's
        at the start of input stream.

        * platform/text/TextCodec.cpp:
        * platform/text/TextCodec.h:
        * platform/text/TextCodecICU.cpp:
        * platform/text/TextCodecUTF16.cpp:
        * platform/text/mac/TextCodecMac.cpp:
        Don't remove the BOM.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Dan Bernstein.
ap@webkit.org [Tue, 13 May 2008 18:25:32 +0000 (18:25 +0000)]
    Reviewed by Dan Bernstein.

        Add tests verifying that we don't mix up some similar, but incompatible encodings.

        * fast/encoding/char-decoding-expected.txt:
        * fast/encoding/char-decoding.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33379 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Tue, 13 May 2008 18:14:39 +0000 (18:14 +0000)]

2008-05-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Don't crash when a document loader is destroyed while an initial caching attempt
        is in progress.

        * loader/appcache/ApplicationCacheGroup.cpp:
        Stop loading.

        New method that stops a cache update.

        Delete ourselves here.

        * loader/appcache/ApplicationCacheGroup.h:


2008-05-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add testcase.

        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress-expected.txt: Added.
        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Added.
        * http/tests/appcache/resources/navigating-away-while-cache-attempt-in-progress.manifest: Added.
        * http/tests/appcache/resources/slow-resource.php: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33378 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin.
ap@webkit.org [Tue, 13 May 2008 16:35:12 +0000 (16:35 +0000)]
    Reviewed by Darin.

        <rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254

        Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.

        Test: fast/encoding/char-decoding.html

        * platform/text/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name
        unconditionally. Previously, we registered windows-949-2000 as a special case that lacked
        an IANA standard name, and got away with not registering GBK because it happened
        to be reported by ICU normally earlier than any encoding upgraded to it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33377 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Tor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Tue, 13 May 2008 15:22:44 +0000 (15:22 +0000)]
2008-05-13  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Fix QtWebKit build on Qt embedded.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33376 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Tue, 13 May 2008 14:24:13 +0000 (14:24 +0000)]
2008-05-13  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33375 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Geoffrey Garen.
ap@webkit.org [Tue, 13 May 2008 09:46:47 +0000 (09:46 +0000)]
    Reviewed by Geoffrey Garen.

        <rdar://problem/4949018> JavaScriptCore API claims to work with UTF8 strings, but only works
        with ASCII strings

        * kjs/ustring.h:
        * kjs/ustring.cpp:
        Added. Implementation adapted from JSStringCreateWithUTF8CString().

        * API/JSStringRef.cpp:
        * API/JSClassRef.cpp:
        Use UString::Rep::createFromUTF8().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33374 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-13 Andy Shaw <andy@trolltech.com>
hausmann@webkit.org [Tue, 13 May 2008 08:05:11 +0000 (08:05 +0000)]
2008-05-13  Andy Shaw  <andy@trolltech.com>

        Reviewed by Simon.

        Fixes: QWebHistory::forward() should go forwards and not back

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33373 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago - build fix
mitz@apple.com [Tue, 13 May 2008 02:04:30 +0000 (02:04 +0000)]
    - build fix

        * Interfaces/WebKit.idl: Touched.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Turn on warnings as errors in WebCore.vcproj
aroben@apple.com [Tue, 13 May 2008 01:11:31 +0000 (01:11 +0000)]
    Turn on warnings as errors in WebCore.vcproj

        Rubberstamped by Anders Carlsson.

        * WebCore.vcproj/WebCore.vcproj: Also let VS reformat the file as it
        saw fit. The important part is the removal of the WarnAsError="false"

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix a MSVC warning in PluginViewWin
aroben@apple.com [Tue, 13 May 2008 01:10:59 +0000 (01:10 +0000)]
Fix a MSVC warning in PluginViewWin


        Fix a MSVC warning in PluginViewWin

        Reviewed by Anders Carlsson.

        Test: http/tests/plugins/post-url-file.html

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::handlePostReadFile): Added a missing return


        Support for testing NPN_PostURL

        Reviewed by Anders Carlsson.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
        (toCString): Added this helper function.
        (testPostURLFile): Added. Writes the passed-in content to the
        passed-in file and calls NPN_PostURL with the passed-in URL and
        (pluginInvoke): Added a case for testPostURLFile.
        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
        (followShortcuts): Changed to allow paths that don't yet exist.


        Test that NPN_PostURL works correctly

        Reviewed by Anders Carlsson.

        * http/tests/plugins/post-url-file-expected.txt: Added.
        * http/tests/plugins/post-url-file.html: Added.
        * http/tests/plugins/resources/dump-post.pl: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in GetEOTHeader
aroben@apple.com [Tue, 13 May 2008 01:10:05 +0000 (01:10 +0000)]
    Fix a MSVC warning in GetEOTHeader

        Reviewed by Dan Bernstein.

        * platform/graphics/win/GetEOTHeader.cpp:
        (WebCore::getEOTHeader): MSVC complains that having a 0-sized array in
        a struct is a non-standard extension. I've replaced the 0-sized arrays
        with arrays of 1 element, and replaced sizeof(structType) with
        offsetof(structType, arrayMember).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in TextCodecICU
aroben@apple.com [Tue, 13 May 2008 01:09:32 +0000 (01:09 +0000)]
    Fix a MSVC warning in TextCodecICU

        Reviewed by John Sullivan and Dan Bernstein.

        * platform/text/TextCodecICU.cpp:
        UCNV_SUB_STOP_ON_ILLEGAL is a string literal, so using == with it
        doesn't really do what we want. Use strcmp instead. It's OK to pass an
        unknown value to strcmp here since 1) UCNV_SUB_STOP_ON_ILLEGAL is only
        a single character long so we're not going to ready more than 2 bytes
        from oldContext, and 2) we're inside an ASSERT which will cause a
        crash anyway if it fails.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Disable a MSVC warning
aroben@apple.com [Tue, 13 May 2008 01:09:01 +0000 (01:09 +0000)]
    Disable a MSVC warning

        Reviewed by Darin Adler.

        * win/tools/vsprops/common.vsprops: Add warning 4503 to the list of
        disabled warnings. It's a warning about decorated names being longer
        than MSVC's limit of 4096 characters. This warning doesn't indicate a
        correctness problem, but these truncated decorated names will be
        harder to recognize during debugging or when they appear in linker

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in CSSComputedStyleDeclaration
aroben@apple.com [Tue, 13 May 2008 01:08:45 +0000 (01:08 +0000)]
    Fix a MSVC warning in CSSComputedStyleDeclaration

        Reviewed by Geoff Garen.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForRepeatRule): Removed some unreachable code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in InlineTextBox
aroben@apple.com [Tue, 13 May 2008 01:08:14 +0000 (01:08 +0000)]
    Fix a MSVC warning in InlineTextBox

        Reviewed by Dan Bernstein.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Initialize some variables that MSVC
        isn't smart enough to figure out will always be initialized in the
        cases where they are used.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in Position
aroben@apple.com [Tue, 13 May 2008 01:07:43 +0000 (01:07 +0000)]
    Fix a MSVC warning in Position

        Reviewed by Darin Adler.

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset): Use parentheses to make
        the precedence of our expressions explicit.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in String
aroben@apple.com [Tue, 13 May 2008 01:07:12 +0000 (01:07 +0000)]
    Fix a MSVC warning in String

        Reviewed by Geoff Garen.

        * platform/text/String.cpp:
        (WebCore::toIntegralType): Disable a bogus warning about using unary -
        on an unsigned value. MSVC isn't smart enough to figure out that
        isNegative will always be false when value is unsigned.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix a MSVC warning in XMLHttpRequest
aroben@apple.com [Tue, 13 May 2008 01:06:39 +0000 (01:06 +0000)]
    Fix a MSVC warning in XMLHttpRequest

        Reviewed by Geoff Garen.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest): Added static_cast<unsigned

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Tue, 13 May 2008 00:28:38 +0000 (00:28 +0000)]

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Handle the case when a resource with the same URL as the manifest is listed in the manifest.

        * loader/appcache/ApplicationCacheGroup.cpp:


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add test with a manifest file that lists itself.

        * http/tests/appcache/manifest-containing-itself-expected.txt: Added.
        * http/tests/appcache/manifest-containing-itself.html: Added.
        * http/tests/appcache/resources/manifest-containing-itself.manifest: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 13 May 2008 00:14:43 +0000 (00:14 +0000)]
2008-05-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add parsing of AccessControlHeader and AccessItemRule.

        * xml/AccessControlList.cpp:
        (WebCore::AccessControlList::parseAccessControlHeader): When multiple http headers are sent
        in the response, the engine will concatenate them with commas separating the rules.  This simply
        reverses that process by splitting on the commas.
        * xml/AccessControlList.h:
        * xml/AccessItem.cpp:
        * xml/AccessItem.h:
        * xml/AccessItemRule.cpp:
        (WebCore::AccessItemRule::parseAccessItemRule): Parse the rule according to the BNF provided by
        the Access Control spec.
        * xml/AccessItemRule.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix logic error in DocLoader::clearPreloads()
ddkilzer@apple.com [Mon, 12 May 2008 23:06:01 +0000 (23:06 +0000)]
    Fix logic error in DocLoader::clearPreloads()

        Reviewed by Antti.

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::clearPreloads): Be sure to decrease the preload count for
        the cached resource before trying to remove it from the cache.  A non-zero
        preload count can prevent the resource from being removed from the cache.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMinor cleanup of the DRT Xcode project.
mrowe@apple.com [Mon, 12 May 2008 22:51:43 +0000 (22:51 +0000)]
Minor cleanup of the DRT Xcode project.

Reviewed by Sam Weinig.

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:  Use GCC_OPTIMIZATION_LEVEL rather than
OPTIMIZATION_CFLAGS.  Don't include Info.plist in the "Copy Bundle Resources" build phase as it does
not need to be there.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Mon, 12 May 2008 22:48:57 +0000 (22:48 +0000)]

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Handle empty manifest files without crashing.

        * loader/appcache/ApplicationCacheGroup.cpp:


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        * http/tests/appcache/empty-manifest-expected.txt: Added.
        * http/tests/appcache/empty-manifest.html: Added.
        * http/tests/appcache/resources/empty.manifest: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Alp Toker <alp@nuanti.com>
alp@webkit.org [Mon, 12 May 2008 22:23:04 +0000 (22:23 +0000)]
2008-05-12  Alp Toker  <alp@nuanti.com>

        GTK+ build fix for breakage in r33056. Include limits.h for INT_MAX.

        * platform/graphics/FontCache.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 12 May 2008 22:22:32 +0000 (22:22 +0000)]
2008-05-12  Anders Carlsson  <andersca@apple.com>

        Update the expected result.

        * http/tests/appcache/simple-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 12 May 2008 22:11:01 +0000 (22:11 +0000)]
2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add user agent to requests when loading/updating the cache.

        * loader/FrameLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Mon, 12 May 2008 21:11:07 +0000 (21:11 +0000)]

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Make it possible to perform synchronous loads from the application cache.

        * loader/DocumentLoader.cpp:
        Factor out code from scheduleApplicationCacheLoad in its own method.

        Call shouldLoadResourceFromApplicationCache here instead.

        * loader/DocumentLoader.h:

        * loader/FrameLoader.cpp:
        Call shouldLoadResourceFromApplicationCache.


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add support for testing application caches.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        Empty the cache.

        Turn on support for the application cache.


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add simple appcache test.

        * http/conf/mime.types:
        * http/tests/appcache: Added.
        * http/tests/appcache/resources: Added.
        * http/tests/appcache/resources/not-in-cache.txt: Added.
        * http/tests/appcache/resources/simple.manifest: Added.
        * http/tests/appcache/resources/simple.txt: Added.
        * http/tests/appcache/simple-expected.txt: Added.
        * http/tests/appcache/simple.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Mon, 12 May 2008 21:02:27 +0000 (21:02 +0000)]

        Reviewed by Ada Chan and Sam Weinig.

        - WebCore changes for https://bugs.webkit.org/show_bug.cgi?id=17097
          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound

        Added a way for clients to let the cache know that they no longer need
        font data, which lets the cache release it. Changed clients to track
        most of the font data they get from the cache so that they can later
        release it. Some instances of font data -- namely, those used for system
        font fallback -- are still not tracked and will therefore remain in the
        cache indefinitely.

        * WebCore.base.exp: Added exports for WebCoreStatistics in WebKit.

        * platform/graphics/Font.cpp:
        (WebCore::Font::Font): Changed to use FontFallbackList::create().
        (WebCore::Font::update): Ditto.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::getCachedFontData): Added code to track the number
        of times a SimpleFontData instance has been requested from the cache,
        remove requested instances from the inactive list, and purge inactive
        font data if the inactive list has grown above its maximum allowed size.
        (WebCore::FontCache::releaseFontData): Added. Called by clients to let
        the cache know that they no longer need the font data. Adds the font
        data to the inactive list if the last client has released it.
        (WebCore::FontCache::purgeInactiveFontData): Added. Removes inactive
        font data from the cache (and the inactive list).
        (WebCore::FontCache::fontDataCount): Added to provide statistics.
        (WebCore::FontCache::inactiveFontDataCount): Ditto.

        * platform/graphics/FontCache.h:

        * platform/graphics/FontData.h:
        (WebCore::FontData::FontData): Added a member variable to store the
        highest glyph page tree level in which there is a node for this FontData.
        This is used to limit the depth of the search when pruning glyph page
        (WebCore::FontData::setMaxGlyphPageTreeLevel): Added this accessor.
        (WebCore::FontData::maxGlyphPageTreeLevel): Ditto.

        * platform/graphics/FontFallbackList.cpp:
        (WebCore::FontFallbackList::FontFallbackList): Changed to start with a
        refcount of 1.
        (WebCore::FontFallbackList::invalidate): Added a call to
        (WebCore::FontFallbackList::releaseFontData): Added. Lets the font cache
        know that we no longer need the FontData in our font list.
        (WebCore::FontFallbackList::fontDataAt): Changed to record in the font
        list whether the font data is a custom font data or not.
        (WebCore::FontFallbackList::setPlatformFont): Ditto.

        * platform/graphics/FontFallbackList.h:
        (WebCore::FontFallbackList::create): Added and made the constructor
        (WebCore::FontFallbackList::~FontFallbackList): Added a call to

        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::treeGlyphPageCount): Added to provide
        (WebCore::GlyphPageTreeNode::pageCount): Ditto.

        (WebCore::GlyphPageTreeNode::pruneTreeFontData): Added.
        (WebCore::GlyphPageTreeNode::getChild): Added code to update the font
        data's maximum glyph page tree level.
        (WebCore::GlyphPageTreeNode::pruneFontData): Added.

        * platform/graphics/GlyphPageTreeNode.h:

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::~SimpleFontData): Added code to let the font
        cache know that we no longer need the small caps font data and to prune
        the glyph page trees.


        Reviewed by Ada Chan.

        - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound

        Added font cache statistics and a function to purge inactive font data.

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics cachedFontDataCount]):
        (+[WebCoreStatistics cachedFontDataInactiveCount]):
        (+[WebCoreStatistics purgeInactiveFontData]):
        (+[WebCoreStatistics glyphPageCount]):


        Reviewed by Ada Chan.

        - WebKit/win changes for https://bugs.webkit.org/show_bug.cgi?id=17097
          <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound

        Added font cache statistics and a function to purge inactive font data.

        * Interfaces/IWebCoreStatistics.idl:
        * WebCoreStatistics.cpp:
        * WebCoreStatistics.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDecorate some deprecated delegate methods with the availability macros.
mrowe@apple.com [Mon, 12 May 2008 21:01:07 +0000 (21:01 +0000)]
Decorate some deprecated delegate methods with the availability macros.

The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
macros is good for consistency and documentation.

Reviewed by Tim Hatcher.

* WebView/WebFrameLoadDelegate.h:
* WebView/WebUIDelegate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5835604> Deprecate HIWebView
mrowe@apple.com [Mon, 12 May 2008 21:01:05 +0000 (21:01 +0000)]
<rdar://problem/5835604> Deprecate HIWebView

Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.

Reviewed by Tim Hatcher.

* Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
* Carbon/HIWebView.h: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/4859666> WebKit needs availability macros in order to deprecate APIs
mrowe@apple.com [Mon, 12 May 2008 21:01:02 +0000 (21:01 +0000)]
<rdar://problem/4859666> WebKit needs availability macros in order to deprecate APIs

Create WebKit availability macros that key off the Mac OS X version being targeted to
determine the WebKit version being targeted.  Applications can define
WEBKIT_VERSION_MIN_REQUIRED before including WebKit headers in order to target a specific
version of WebKit.

The availability header is being added to JavaScriptCore rather than WebKit as JavaScriptCore
is the lowest-level portion of the public WebKit API.

Reviewed by Tim Hatcher.

* API/WebKitAvailability.h: Added.
* JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Anders.
kdecker@apple.com [Mon, 12 May 2008 20:50:36 +0000 (20:50 +0000)]
    Reviewed by Anders.

        Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined

        Re-added these SPI methods because they are needed by some clients. They were accidentally removed
        in changeset <http://trac.webkit.org/changeset/31028>

        * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
        * WebView/WebFrame.mm:
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
        * WebView/WebFrameInternal.h: Ditto.
        * WebView/WebHTMLView.mm: Ditto.
        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
        * WebView/WebHTMLViewInternal.h: Ditto.
        * WebView/WebHTMLViewPrivate.h: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Mon, 12 May 2008 20:13:51 +0000 (20:13 +0000)]

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Alexey.

        Add ApplicationCacheStorage::empty() method which will empty
        the application cache database.

        * WebCore.base.exp:
        * loader/appcache/ApplicationCache.cpp:
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheResource.h:
        * loader/appcache/ApplicationCacheStorage.cpp:
        * loader/appcache/ApplicationCacheStorage.h:


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Alexey.

        Empty the application cache when changing the cache model.

        * WebView/WebView.mm:
        (+[WebView _setCacheModel:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 12 May 2008 18:34:36 +0000 (18:34 +0000)]
2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Alexey.

        Add input method test plug-in.

        * NetscapeInputMethodPlugin: Added.
        * NetscapeInputMethodPlugin/English.lproj: Added.
        * NetscapeInputMethodPlugin/English.lproj/InfoPlist.strings: Added.
        * NetscapeInputMethodPlugin/Info.plist: Added.
        * NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj: Added.
        * NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj: Added.
        * NetscapeInputMethodPlugin/main.m: Added.
        * NetscapeInputMethodPlugin/test.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKit:
andersca@apple.com [Mon, 12 May 2008 17:41:37 +0000 (17:41 +0000)]

2008-05-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins

        Add nptextinput.h as a public header.

        * WebKit.xcodeproj/project.pbxproj:


2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView start]):
        Get the plug-in text input vtable pointer.

        (-[WebBaseNetscapePluginView stop]):
        Set the plug-in text input vtable pointer to 0.

        (-[WebBaseNetscapePluginView inputContext]):
        Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.

        (-[WebBaseNetscapePluginView hasMarkedText]):
        (-[WebBaseNetscapePluginView insertText:]):
        (-[WebBaseNetscapePluginView markedRange]):
        (-[WebBaseNetscapePluginView selectedRange]):
        (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
        (-[WebBaseNetscapePluginView unmarkText]):
        (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
        (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
        (-[WebBaseNetscapePluginView characterIndexForPoint:]):
        (-[WebBaseNetscapePluginView doCommandBySelector:]):
        (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
        (-[WebBaseNetscapePluginView conversationIdentifier]):
        Implement NSTextInput and call into the plug-in text input vtable.

        New method which returns the browser input vtable.

        (-[WebBaseNetscapePluginView getVariable:value:]):
        Support getting the browser input vtable pointer.

        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
        If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
        it means that the event should be passed on to the input manager.

        * Plugins/npapi.mm:
        Add implementations of browser input method methods.

        * Plugins/nptextinput.h: Added.
        Add file with new text input API.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 12 May 2008 17:29:35 +0000 (17:29 +0000)]
2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by John.

        Don't throw an exception if the string passed in is an invalid URL.

        * loader/appcache/DOMApplicationCache.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33048 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 12 May 2008 17:11:56 +0000 (17:11 +0000)]
2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Add the variable enums for getting the input vtables.

        * bridge/npapi.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Build fix
aroben@apple.com [Mon, 12 May 2008 16:35:29 +0000 (16:35 +0000)]
    Build fix

        * WebKitPrefix.cpp: Touch this so that it will rebuild after

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Windows build fix
aroben@apple.com [Mon, 12 May 2008 16:31:02 +0000 (16:31 +0000)]
    Windows build fix

        * WebCorePrefix.cpp: Touched this so that it will rebuild now that
        ENABLE_CROSS_DOCUMENT_MESSAGING has been removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 12 May 2008 09:53:12 +0000 (09:53 +0000)]
2008-05-12  Maciej Stachowiak  <mjs@apple.com>

        Ooops, I made some mistakes trying to fix the validation errors. This time for sure.

        * demos/transitions-and-transforms/index.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 12 May 2008 09:45:54 +0000 (09:45 +0000)]
2008-05-12  Maciej Stachowiak  <mjs@apple.com>

        Make the demo valid HTML5 (according to validator.nu) and add alt text to the images.

        * demos/transitions-and-transforms/index.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 12 May 2008 09:10:31 +0000 (09:10 +0000)]
2008-05-12  Maciej Stachowiak  <mjs@apple.com>

        Tweaked demo visuals slightly.

        * demos/transitions-and-transforms/leopard.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 12 May 2008 07:43:22 +0000 (07:43 +0000)]
2008-05-12  Maciej Stachowiak  <mjs@apple.com>

        Tweak CSS to look a little better while loading.

        * demos/transitions-and-transforms/leopard.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-12 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 12 May 2008 07:39:20 +0000 (07:39 +0000)]
2008-05-12  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed - new demo.

        Added a demo of CSS Transforms and Transitions.

        * demos/transitions-and-transforms: Added.
        * demos/transitions-and-transforms/Finder Coverflow.png: Added.
        * demos/transitions-and-transforms/Horsehead.png: Added.
        * demos/transitions-and-transforms/Mail Stationery.png: Added.
        * demos/transitions-and-transforms/Quick Look.png: Added.
        * demos/transitions-and-transforms/Spaces.png: Added.
        * demos/transitions-and-transforms/Stacks.png: Added.
        * demos/transitions-and-transforms/Time Machine.png: Added.
        * demos/transitions-and-transforms/index.html: Added.
        * demos/transitions-and-transforms/leopard.css: Added.
        * demos/transitions-and-transforms/no-style.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33040 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Maciej.
ap@webkit.org [Mon, 12 May 2008 07:36:05 +0000 (07:36 +0000)]
    Reviewed by Maciej.

        Reproducible crash with PAC file

        Naively moving JavaScriptCore into thread-specific data was inappropriate in the face of
        exiting JavaScriptCore API clients, which expect a different therading model. Temporarily
        disabling ThreadSpecific implementation until this can be sorted out.

        * wtf/ThreadSpecific.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
ap@webkit.org [Mon, 12 May 2008 07:12:31 +0000 (07:12 +0000)]
    Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
        SquirrelFish merging.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoPrevious commit made bdash sad. Restore happiness state by fixing missed style issue.
kevino@webkit.org [Mon, 12 May 2008 05:14:53 +0000 (05:14 +0000)]
Previous commit made bdash sad. Restore happiness state by fixing missed style issue.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Mon, 12 May 2008 05:06:50 +0000 (05:06 +0000)]
Reviewed by Kevin Ollivier.

Fix scrolling issues by implementing transitionToCommittedNewPage() so the scroll positions are reset when a new page is loaded, and also maintained so that back and next restore the scroll positions as well. This also simplifies the logic for initializing and managing wxWebView.


git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Kevin Ollivier.
kevino@webkit.org [Mon, 12 May 2008 04:58:09 +0000 (04:58 +0000)]
Reviewed by Kevin Ollivier.

Since wx popup menus dismiss themselves when an item is selected we need to call hidePopup so webkit's internal state is correct.


git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-11 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 12 May 2008 00:34:19 +0000 (00:34 +0000)]
2008-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Move some generic parsing functions into a new ParserUtilities header so that
        they can be used for non-SVG builds too.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/text/ParserUtilities.h: Added.
        * svg/SVGParserUtilities.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-11 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 11 May 2008 20:26:28 +0000 (20:26 +0000)]
2008-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add scaffolding for the implementation of Access Control for Cross-site Requests.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * xml/AccessControlList.cpp: Added.
        * xml/AccessControlList.h: Added.
        * xml/AccessItem.cpp: Added.
        * xml/AccessItem.h: Added.
        * xml/AccessItemRule.cpp: Added.
        * xml/AccessItemRule.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-11 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Sun, 11 May 2008 16:36:23 +0000 (16:36 +0000)]
2008-05-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Debug build fix.

        * loader/appcache/ApplicationCache.cpp: Include stdio.h
        as we are using printf in ApplicationCache::dump().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Jessica Kahn.
mitz@apple.com [Sun, 11 May 2008 02:28:55 +0000 (02:28 +0000)]
    Reviewed by Jessica Kahn.

        - add a copy assignment operator to FontPlatformData on Mac to properly
          retain the m_font data member.

        * platform/graphics/mac/FontPlatformData.h:
        * platform/graphics/mac/FontPlatformDataMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-10 Adele Peterson <adele@apple.com>
adele@apple.com [Sat, 10 May 2008 22:01:34 +0000 (22:01 +0000)]
2008-05-10  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Hatcher.

        Fix crash for WebKit clients that don't set a group name for the WebView/Page.

        * page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group,
          call the addPage method, since it does extra work initializing m_localStorage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-10 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Sat, 10 May 2008 13:09:59 +0000 (13:09 +0000)]
2008-05-10  Julien Chaffraix  <jchaffraix@webkit.org>

        Qt & wx build fix.

        * JavaScriptCore.pri: Add profiler/Profile.cpp.
        * JavaScriptCoreSources.bkl: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Maciej.
rwlbuis@webkit.org [Sat, 10 May 2008 09:43:48 +0000 (09:43 +0000)]
    Reviewed by Maciej.

        Gtk+ build fix

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33025 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
weinig@apple.com [Sat, 10 May 2008 04:44:05 +0000 (04:44 +0000)]

2008-05-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
        NULL pointer dereference in NamedAttrMap::setNamedItem

        Test: fast/dom/NamedNodeMap-setNamedItem-crash.html

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::setNamedItem): Null check the argument.


2008-05-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Test for https://bugs.webkit.org/show_bug.cgi?id=18958
        NULL pointer dereference in NamedAttrMap::setNamedItem

        * fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt: Added.
        * fast/dom/NamedNodeMap-setNamedItem-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33023 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRoll out r33018 as it broke the builds.
mrowe@apple.com [Sat, 10 May 2008 03:44:46 +0000 (03:44 +0000)]
Roll out r33018 as it broke the builds.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-09 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Sat, 10 May 2008 00:46:50 +0000 (00:46 +0000)]
2008-05-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mark.

        Add x86_64 rule.

        * Makefile:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33020 268f45cc-cd09-0410-ab3c-d52691b4dbfc