1. 21 May, 2008 9 commits
    • ap@webkit.org's avatar
      Reviewed by Darin. · 48a35d0d
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=19169
              <rdar://5952342> REGRESSION: nakarte.ru searches don't work
      
              Test: http/tests/xmlhttprequest/encode-request-url.html
      
              * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
              converted to String, as it will be encoded again by parse().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48a35d0d
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 9ff91796
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
              profile node.
              - Implements focus by adding the idea of a profileNode being visible and
              adding the ability to reset all of the visible flags.
      
              * profiler/Profile.h: 
              (KJS::Profile::focus):
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::ProfileNode): Initialize the visible flag.
              (KJS::ProfileNode::setTreeVisible): Set the visibility of this node and
              all of its descendents.
              (KJS::ProfileNode::focus): Determine if this node should be visible when
              focusing, if the functionName matches this node's function name or if any
              of this node's children are visible.
              (KJS::ProfileNode::restoreAll): Restore all nodes' visible flag.
              (KJS::ProfileNode::debugPrintData):
              * profiler/ProfileNode.h:
              (KJS::ProfileNode::visible):
              (KJS::ProfileNode::setVisible):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ff91796
    • hausmann@webkit.org's avatar
      2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com> · 9a22c9c5
      hausmann@webkit.org authored
              Reviewed by Simon.
      
              For the Qt port, fix building with Qt for Embedded Linux.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a22c9c5
    • hausmann@webkit.org's avatar
      2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com> · 0cfb023a
      hausmann@webkit.org authored
              Reviewed by Simon.
      
              For the Qt port, allow building without NPAPI plugin support.
      
              * WebCore.pro:
              * plugins/PluginView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cfb023a
    • kevino@webkit.org's avatar
      Reviewed by Darin Adler. · 4b136860
      kevino@webkit.org authored
              
      Rename wxWebFrame -> wxWebBrowserShell in preparation to introduce a WebFrame counterpart in wx port. (Frame typically means 'top level window' in wx terms.)
              
      https://bugs.webkit.org/show_bug.cgi?id=19041
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b136860
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 6d784dd8
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              Added all of my personal manual tests for the profiler.
      
              * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
              * manual-tests/inspector/profiler-test-apply.html: Added.
              * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
              * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
              * manual-tests/inspector/profiler-test-call.html: Added.
              * manual-tests/inspector/profiler-test-dead-time.html: Added.
              * manual-tests/inspector/profiler-test-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
              * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
              * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
              * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
              * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
              * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
              * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
              * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
              * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
              * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
              * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
              * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
              * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
              * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
              * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
              * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
              * manual-tests/inspector/resources: Added.
              * manual-tests/inspector/resources/other-frame.html: Added.
              * manual-tests/inspector/resources/other-window.html: Added.
              * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d784dd8
    • timothy@apple.com's avatar
      Fixes a couple performance issues with the profiler. Also fixes · aeb5dd75
      timothy@apple.com authored
      a regression where some nodes wouldn't be added to the tree.
      
      Reviewed by Kevin McCullough.
      
      * profiler/ProfileNode.cpp:
      (KJS::ProfileNode::addChild): Compare callIdentifier instead
      of functionName.
      * profiler/ProfileNode.h:
      (CallIdentifier.operator==): Compare the CallIdentifiers in
      an order that fails sooner for non-matches.
      (CallIdentifier.callIdentifier): Return the CallIdentifier by
      reference to prevent making a new copy each time.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeb5dd75
    • alp@webkit.org's avatar
      2008-05-20 Jan Michael Alonzo <jmalonzo@webkit.org> · 5ac91ee6
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              Fix for previous autotools change.
      
              * configure.ac:
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ac91ee6
    • aroben@apple.com's avatar
      Use KJS::List::getSlice instead of reimplementing it · af71b107
      aroben@apple.com authored
              Rubberstamped and suggested by Sam Weinig.
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::assertCondition):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af71b107
  2. 20 May, 2008 31 commits
    • adele@apple.com's avatar
      2008-05-20 Kevin Calhoun <kcalhoun@apple.com> · ff96f4c4
      adele@apple.com authored
              Reviewed by Darin.
      
              Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation
      
              If the class QTVideoRendererWebKitOnly is present use it to render video,
              otherwise fall back to existing use of QTMovieView/QTMovieContentView.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
              (WebCore::MediaPlayerPrivate::createQTMovie):
              (WebCore::QTVideoRendererClass):
              (WebCore::MediaPlayerPrivate::detachQTMovieView):
              (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
              (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
              (WebCore::MediaPlayerPrivate::setUpVideoRendering):
              (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
              (WebCore::MediaPlayerPrivate::load):
              (WebCore::MediaPlayerPrivate::cancelLoad):
              (WebCore::MediaPlayerPrivate::setVisible):
              (WebCore::MediaPlayerPrivate::paint):
              (-[WebCoreMovieObserver newImageAvailable:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff96f4c4
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 77b5abfc
      kmccullough@apple.com authored
              Reviewed by Darin.
      
              <rdar://problem/5950796> JSProfiler: dump functions are in the code
              Removed dump and logging functions from the Release version of the code
              and renamed them to be obviously for debugging only.
      
              * JavaScriptCore.exp:
              * profiler/Profile.cpp:
              (KJS::Profile::debugPrintData):
              (KJS::Profile::debugPrintDataSampleStyle):
              * profiler/Profile.h:
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::debugPrintData):
              (KJS::ProfileNode::debugPrintDataSampleStyle):
              * profiler/ProfileNode.h:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77b5abfc
    • aroben@apple.com's avatar
      Fix Bug 19134: Inspector should support console.assert · d1b1b1fe
      aroben@apple.com authored
              <https://bugs.webkit.org/show_bug.cgi?id=19134>
      
              Reviewed by Tim Hatcher.
      
              Test: manual-tests/inspector/console-assert.html
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::assertCondition): Added.
              * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
              ImplementationFunction extended attribute, which allows you to
              override the name of the C++ function used to implement this method.
              * manual-tests/inspector/console-assert.html: Added.
              * page/Console.cpp:
              (WebCore::Console::assertCondition): Added.
              * page/Console.h:
              * page/Console.idl: Added assert().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1b1b1fe
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 6f24f536
      kmccullough@apple.com authored
              Reviewed by Adam.
      
              <rdar://problem/5950538> JSProfiler: Keep track of non-JS execution time
              We now have an extra node that represents the excess non-JS time.
              - Also changed "SCRIPT" and "anonymous function" to be more consistent
              with the debugger.
      
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::stopProfiling): If this ProfileNode is the head node
              create a new child that has the excess execution time.
              (KJS::ProfileNode::calculatePercentages): Moved calculation of the
              percentages into a function since it's called from multiple places.
              * profiler/ProfileNode.h: Add the newly needed functions used above.
              (KJS::ProfileNode::setTotalTime):
              (KJS::ProfileNode::setSelfTime):
              (KJS::ProfileNode::setNumberOfCalls):
              * profiler/Profiler.cpp: renamed "SCRIPT" and "anonymous function" to be
              consistent with the debugger and use constants that can be localized
              more easily.
              (KJS::getCallIdentifiers):
              (KJS::getCallIdentifierFromFunctionImp):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f24f536
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 0be4b5e5
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              Removed only profiler-internal use of currentProfile since that concept
              is changing.
      
              * profiler/Profile.h: Now stopProfiling takes a time and bool as
              arguments.  The time is used to calculate %s from and the bool tells
              if this node is the head node and should be the one calculating the time.
              (KJS::Profile::stopProfiling):
              * profiler/ProfileNode.cpp: Ditto.
              (KJS::ProfileNode::stopProfiling):
              * profiler/ProfileNode.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0be4b5e5
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 2efe1b75
      kmccullough@apple.com authored
              Accidentally turned on the profiler.
      
              * kjs/config.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2efe1b75
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · c74bed15
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              Split function name into 3 parts so that the Web Inspector can link it to
              the resource location from whence it came.
      
              * kjs/ustring.cpp: Implemented operator> for UStrings
              (KJS::operator>):
              * kjs/ustring.h:
              * profiler/Profile.cpp:
              (KJS::Profile::Profile): Initialize all 3 values.
              (KJS::Profile::willExecute): Use CallIdentifier struct.
              (KJS::Profile::didExecute): Ditto.
              * profiler/Profile.h: Ditto and remove unused function.
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::ProfileNode): Use CallIdentifier struct.
              (KJS::ProfileNode::willExecute): Ditto and fix an issue where we
              restarted the m_startTime even though it was already started.
              (KJS::ProfileNode::didExecute): Ditto.
              (KJS::ProfileNode::findChild): Ditto.
              (KJS::functionNameDescendingComparator): Ditto and use new comparator.
              (KJS::functionNameAscendingComparator): Ditto.
              (KJS::ProfileNode::printDataInspectorStyle): Use CallIdentifier struct.
              (KJS::ProfileNode::printDataSampleStyle): Ditto.
              * profiler/ProfileNode.h:
              (KJS::CallIdentifier::CallIdentifier): Describe the CallIdentifier struct
              (KJS::CallIdentifier::operator== ):
              (KJS::ProfileNode::create): Use the CallIdentifier struct.
              (KJS::ProfileNode::callIdentifier):
              (KJS::ProfileNode::functionName): Now only return the function name, not
              the url and line number too.
              (KJS::ProfileNode::url):
              (KJS::ProfileNode::lineNumber):
              * profiler/Profiler.cpp: Use the CallIdentifier struct. 
              (KJS::Profiler::startProfiling):
              (KJS::Profiler::willExecute):
              (KJS::Profiler::didExecute):
              (KJS::getCallIdentifiers):
              (KJS::getCallIdentifierFromFunctionImp):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c74bed15
    • alice.liu@apple.com's avatar
      2008-05-20 Alice Liu <alice.liu@apple.com> · d8560b94
      alice.liu@apple.com authored
              Reviewed by Brady.
      
              fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()
      
              * loader/Cache.cpp:
              (WebCore::Cache::requestUserCSSStyleSheet):
              Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
              (WebCore::Cache::insertInLRUList):
              Assert that any resource in the LRU list has been accessed.  This is early detection of a
              potential hang later when pruning resources, and also agrees with the early return in 
              removeFromLRUList().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8560b94
    • mitz@apple.com's avatar
      WebCore: · 78ceb1f5
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=17655
                <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
      
              Test: fast/dom/SelectorAPI/viewless-document.html
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
              selector checker.
              (WebCore::CSSStyleSelector::init): Removed initialization of
              m_collectRulesOnly, which is now part of the selector checker.
              (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
              moved into the selector checker.
              (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
              (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
              argument, which is used to initialize a data member of the selector
              checker. Updated for renames. Removed initialization of m_isXMLDoc
              because this bit is now initialized only once in the selector checker's
              constructor.
              (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
              (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
              into a SelectorChecker method.
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
              by querySelector() and querySelectorAll().
              (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
              moved into the selector checker.
              (WebCore::CSSStyleSelector::matchUARules): Ditto.
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
              code that set the parentStyle variable after the last place it is
              accessed, and changed to ensure that m_style is set early in this
              function.
              (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
              into the selector checker.
              (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
              (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
              the element's style and the parent style to the selector checker, as
              well as the dynamic pseudo variable and the selector attributes vector.
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
              arguments for the style of the base element and its parent. When the
              elementStyle argument is 0, the style is fetched from the element
              and its parent as needed. Also changed to take a reference to the
              dynamic pseudo ID and a pointer to the vector of attributes affecting
              the match.
              (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
              into the selector checker.
              (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
              (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
              (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
              (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
              (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
              Changed into a SelectorChecker method.
              (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
              Ditto.
      
              * css/CSSStyleSelector.h:
              Added a SelectorChecker class and moved data and methods used in
              checking selectors into it.
              (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
              SelectorChecker method.
              (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
              of the document's style selector.
              * dom/SelectorNodeList.cpp:
              (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=17655
                <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
      
              * fast/dom/SelectorAPI/resources/viewless-document.js: Added.
              * fast/dom/SelectorAPI/viewless-document-expected.txt: Added.
              * fast/dom/SelectorAPI/viewless-document.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78ceb1f5
    • timothy@apple.com's avatar
      Implements the Profiles panel and Profile view. · 23cf67bb
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * English.lproj/localizedStrings.js: Added new strings.
      * page/inspector/Images/profileIcon.png: Added.
      * page/inspector/Images/profilesIcon.png: Changed. New icon design
      that fits in with the other toolbar icons.
      * page/inspector/ProfileView.js:
      (WebInspector.ProfileView): Remove custom table elements
      and create a DataGrid. Sorts the profile by descending total time,
      since the profiles aren't sorted by default.
      (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
      and recreates all the nodes. The selection is preserved.
      (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
      all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
      to match the ProfileView values. Then call refresh on the child.
      (WebInspector.ProfileView.prototype._sortData): Determine the sort
      function to call on the head profile node. Call it and then call
      refresh to rebuild the DataGrid.
      (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
      if the event is not a double-click. When it is a double-click, determine
      the column that was targeted and if it was total or self toggle the
      show as percent property. Call refreshShowAsPercents.
      (WebInspector.ProfileDataGridNode):
      (WebInspector.ProfileDataGridNode.prototype.get data):
      (WebInspector.ProfileDataGridNode.prototype.expand):
      (WebInspector.ProfileDataGridNode.prototype.collapse):
      (WebInspector.ProfileDataGridNode.prototype._populate):
      * page/inspector/ProfilesPanel.js:
      (WebInspector.ProfilesPanel):
      (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
      with all profiles. This is a workaround until the Inspector
      is told about new profiles.
      (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
      profile views.
      (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
      event to the sidebar.
      (WebInspector.ProfilesPanel.prototype.addProfile): Create a
      ProfileSidebarTreeElement object and add it to the sidebar.
      (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
      and show it.
      (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
      visible view.
      (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
      WebInspector.elementDragStart.
      (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
      (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
      Call WebInspector.elementDragEnd.
      (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
      sidebar width based on the passed in value.
      (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
      (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
      (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
      (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
      (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
      (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
      * page/inspector/inspector.css: New styles for the profile sidebar
      item and profile data grid columns.
      * page/inspector/inspector.js:
      * page/inspector/utilities.js:
      (Number.secondsToString): Added a higherResolution argument
      that returns fractional milliseconds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23cf67bb
    • cfleizach@apple.com's avatar
      <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure · 7783493e
      cfleizach@apple.com authored
      <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7783493e
    • timothy@apple.com's avatar
      Expose the ProfileNode functionName sorting functions on · cf48a173
      timothy@apple.com authored
      JavaScriptProfileNode.
      
      Reviewed by Kevin McCullough.
      
      * page/JavaScriptProfileNode.cpp:
      (WebCore::sortFunctionNameDescending): Call ProfileNode.
      (WebCore::sortFunctionNameAscending): Ditto.
      (WebCore::ProfileNodeClass): Add static functions.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf48a173
    • timothy@apple.com's avatar
      Rename sortFileName{Ascending,Descending} to · 21176464
      timothy@apple.com authored
      sortFunctionName{Ascending,Descending}.
      
      Reviewed by Kevin McCullough.
      
      * JavaScriptCore.exp:
      * kjs/config.h:
      * profiler/Profile.h:
      * profiler/ProfileNode.cpp:
      (KJS::functionNameDescendingComparator):
      (KJS::ProfileNode::sortFunctionNameDescending):
      (KJS::functionNameAscendingComparator):
      (KJS::ProfileNode::sortFunctionNameAscending):
      * profiler/ProfileNode.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21176464
    • darin@apple.com's avatar
      2008-05-20 Darin Adler <darin@apple.com> · f3933de7
      darin@apple.com authored
              Reviewed by Mitz.
      
              - a first small step of CSS DOM refactoring -- the eventual goal is to
                reduce StyleBase and possibly eliminate it, since it has multiple
                purposes and unneccessarily ties many classes together
      
              * css/CSSCursorImageValue.cpp:
              (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
              (WebCore::resourceReferencedByCursorElement): Ditto.
              (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
              argument.
              (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
              check if X and Y changed before changing them -- there's no reason to do
              that. Removed code that depended on the internals of CSSImageValue. The
              new code uses only protected functions rather than going right at the
              fields and uing internal knowledge of the base class.
              * css/CSSCursorImageValue.h: Added a create function, made constructor
              private, removed unused style argument.
      
              * css/CSSImageValue.cpp:
              (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
              (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
              use by CSSCursorImageValue that gives the URL.
              (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
              use by CSSCursorImageValue that clears the CachedImage.
              * css/CSSImageValue.h: Added create functions, made constructors protected
              and private, removed unused style argument, made data members private, added
              some protected functions for use by CSSCursorImageValue.
      
              * css/CSSImportRule.cpp:
              (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
              the parent. This is part of preparation to move the checkLoaded function from
              StyleBase to StyleSheet.
              (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
              of the style sheet to use the href function of the style sheet rather than
              the baseURL function. This eliminates an O(n^2) algorithm here and reduces
              the use of baseURL, part of preparation to move it from StyleBase
              to CSSStyleSheet.
      
              * css/CSSMutableStyleDeclaration.cpp:
              (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
              function instead of a direct call to new for the CSSImageValue classes.
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseValue): Ditto.
              (WebCore::CSSParser::parseContent): Ditto.
              (WebCore::CSSParser::parseFillImage): Ditto.
              (WebCore::CSSParser::parseBorderImage): Ditto.
      
              * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
              * rendering/style/RenderStyle.h: Removed unneeded include of
              CSSCursorImageValue.h, which was causing us to rebuild the world way too often.
      
              * xml/XSLImportRule.cpp:
              (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
              (WebCore::XSLImportRule::loadSheet): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3933de7
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · fe9d0e7b
      kmccullough@apple.com authored
              Rubber stamped by Adam.
      
              -Minor fix. Should not use a reference since the original may disappear.
      
              * page/Console.cpp:
              (WebCore::Console::profile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe9d0e7b
    • kevino@webkit.org's avatar
      wx build fixes for PluginViewWx.cpp and WebKit/wx/WebView.cpp · 82340bb3
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82340bb3
    • timothy@apple.com's avatar
      Expose the ProfileNode sorting functions on JavaScriptProfileNode. · 5a0204ec
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * page/JavaScriptProfileNode.cpp:
      (WebCore::sortTotalTimeDescending): Call ProfileNode.
      (WebCore::sortTotalTimeAscending): Ditto.
      (WebCore::sortSelfTimeDescending): Ditto.
      (WebCore::sortSelfTimeAscending): Ditto.
      (WebCore::sortCallsDescending): Ditto.
      (WebCore::sortCallsAscending): Ditto.
      (WebCore::ProfileNodeClass): Add static static functions.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a0204ec
    • timothy@apple.com's avatar
      Make the profiler use higher than millisecond resolution time-stamps. · 7de48b2e
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * kjs/DateMath.cpp:
      (KJS::getCurrentUTCTime): Call getCurrentUTCTimeWithMicroseconds and
      floor the result.
      (KJS::getCurrentUTCTimeWithMicroseconds): Copied from the previous
      implementation of getCurrentUTCTime without the floor call.
      * kjs/DateMath.h: Addded getCurrentUTCTimeWithMicroseconds.
      * profiler/ProfileNode.cpp:
      (KJS::ProfileNode::ProfileNode): Use getCurrentUTCTimeWithMicroseconds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7de48b2e
    • timothy@apple.com's avatar
      * page/InspectorController.cpp: Change the include for · c3f9d123
      timothy@apple.com authored
      JavaScriptProfile.h to sue double quotes instead of backets.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3f9d123
    • timothy@apple.com's avatar
      Fixes a bug in the profiler where call and apply would show up · e4f53f8a
      timothy@apple.com authored
      and double the time spent in a function. We don't want to show call
      and apply at all in the profiles. This change excludes them.
      
      Reviewed by Kevin McCullough.
      
      * profiler/ProfileNode.cpp:
      (KJS::ProfileNode::stopProfiling): Remove a second for loop and
      calculate self time in the existing loop.
      * profiler/Profiler.cpp:
      (KJS::shouldExcludeFunction): Helper inline function that returns
      true in the current function in an InternalFunctionImp and it is
      has the functionName call or apply.
      (KJS::Profiler::willExecute): Call shouldExcludeFunction and return
      early if if returns true.
      (KJS::Profiler::didExecute): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4f53f8a
    • timothy@apple.com's avatar
      Adds a DataGrid object that is used for multi-column data · 96ad88ab
      timothy@apple.com authored
      and can contain hierarchical content with disclosure arrows.
      A lot of DataGrid was copied from treeoutline.js. This change
      makes the database views use the DataGrid. It will later be
      used by the ProfileView.
      
      Reviewed by Adam Roben.
      
      * page/inspector/DataGrid.js: Added. Most copied from treeoutline.js
      and modified to work with table elements.
      * page/inspector/DatabaseQueryView.js:
      (WebInspector.DatabaseQueryView.prototype._queryFinished):
      Call DatabasesPanel.dataGridForResult and adds the inline style to
      the DataGrid element.
      * page/inspector/DatabaseTableView.js:
      (WebInspector.DatabaseTableView.prototype._queryFinished):
      Call DatabasesPanel.dataGridForResult.
      * page/inspector/DatabasesPanel.js:
      (WebInspector.DatabasesPanel.prototype._tableForResult): Removed.
      (WebInspector.DatabasesPanel.prototype.dataGridForResult): Added.
      Similar to the previous _tableForResult function, but makes a DataGrid.
      * page/inspector/inspector.css: Changes to the data-grid
      style rules.
      * WebCore.vcproj/WebCore.vcproj: Add DataGrid.js.
      * page/inspector/WebKit.qrc: Ditto.
      * page/inspector/inspector.html: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96ad88ab
    • jmalonzo@webkit.org's avatar
      2008-05-20 Jan Michael Alonzo <jmalonzo@webkit.org> · 4c3907ae
      jmalonzo@webkit.org authored
              Reviewed by Alp.
      
              http://bugs.webkit.org/show_bug.cgi?id=18483
              [Gtk] Autotools should match build-webkit default flags
      
              * configure.ac:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c3907ae
    • slewis@apple.com's avatar
      fix changelog · 79ddf1b1
      slewis@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      79ddf1b1
    • slewis@apple.com's avatar
      2008-05-19 Stephanie Lewis <slewis@apple.com> · 71de81e7
      slewis@apple.com authored
      
              Explicitly set run mode to 32bit unless overridden to avoid
              confusion when running tests
      
              * Scripts/build-dumprendertree:
              * Scripts/gdb-safari:
              * Scripts/run-webkit-tests:
              * Scripts/webkitdirs.pm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71de81e7
    • aroben@apple.com's avatar
      Make WebKit.idl rebuild whenever any of its included interfaces are changed · 3ddd9465
      aroben@apple.com authored
              Reviewed by Tim Hatcher.
      
              * WebKit.vcproj/DerivedSources.make: Touch WebKit.idl whenever any
              other IDL file is changed. This will force VS to rebuild WebKit.idl.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ddd9465
    • mitz@apple.com's avatar
      Reviewed by Adam Roben. · 05ec1e26
      mitz@apple.com authored
              - update test results following <http://trac.webkit.org/changeset/33395>
      
              * platform/mac/fast/frames/viewsource-attribute-expected.checksum:
              * platform/mac/fast/frames/viewsource-attribute-expected.png:
              * platform/mac/fast/frames/viewsource-attribute-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ec1e26
    • kmccullough@apple.com's avatar
      2008-05-19 Kevin McCullough <kmccullough@apple.com> · 2998eb30
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              - Implement sorting by function name.
      
              * JavaScriptCore.exp:
              * profiler/Profile.h:
              (KJS::Profile::sortFileNameDescending):
              (KJS::Profile::sortFileNameAscending):
              * profiler/ProfileNode.cpp:
              (KJS::fileNameDescendingComparator):
              (KJS::ProfileNode::sortFileNameDescending):
              (KJS::fileNameAscendingComparator):
              (KJS::ProfileNode::sortFileNameAscending):
              * profiler/ProfileNode.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2998eb30
    • kmccullough@apple.com's avatar
      2008-05-19 Kevin McCullough <kmccullough@apple.com> · f0bae5cd
      kmccullough@apple.com authored
              Reviewed by Adam.
      
              -build fix.
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profile):
              * page/Console.cpp:
              (WebCore::Console::profile):
              * page/Console.h:
              * page/Console.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0bae5cd
    • alp@webkit.org's avatar
      2008-05-19 Alp Toker <alp@nuanti.com> · 45d20367
      alp@webkit.org authored
              Reviewed by Maciej.
      
              GTK+/soup fixes:
      
              Remove the fragment part of the URL since the file backend doesn't
              deal with it.
      
              Fix a typo in the cleanup function.
      
              * platform/network/soup/ResourceHandleSoup.cpp:
              (WebCore::cleanupGioOperation):
              (WebCore::ResourceHandle::startGio):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33594 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      45d20367
    • kmccullough@apple.com's avatar
      JavaScriptCore: · 6fc919da
      kmccullough@apple.com authored
      2008-05-19  Kevin McCullough  <kmccullough@apple.com>
      
              Reviewed by Adam.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              - Pass the exec state to profiler when calling startProfiling so that if
              profiling is started within an execution context that location is
              recorded correctly.
      
              * JavaScriptCore.exp:
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::printDataInspectorStyle): Dump more info for debugging
              purposes.
              * profiler/Profiler.cpp:
              (KJS::Profiler::startProfiling):
              * profiler/Profiler.h:
      
      WebCore:
      
      2008-05-19  Kevin McCullough  <kmccullough@apple.com>
      
              Reviewed by Adam.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              - Send the executing context to the profiler so it can attribute time
              correctly to parent functions when calling profile() and profileEnd()
              while nested.
      
              * page/Console.cpp:
              (WebCore::Console::profile):
              (WebCore::Console::profileEnd):
              * page/Console.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6fc919da
    • kmccullough@apple.com's avatar
      2008-05-19 Kevin McCullough <kmccullough@apple.com> · 981039f2
      kmccullough@apple.com authored
              Rubberstamped by Geoff.
      
              Turn off the profiler because it is a performance regression.
      
              * kjs/config.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      981039f2