Timeline



Apr 22, 2012:

11:37 PM Changeset in webkit [114874] by Csaba Osztrogonác
  • 8 edits in trunk/LayoutTests

Add Notification constructor
https://bugs.webkit.org/show_bug.cgi?id=80477

[Qt] Unreviewed gardening after r114855.

  • platform/qt-4.8/fast/dom/Window/window-properties-expected.txt:
  • platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt:
  • platform/qt-5.0-wk2/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/qt-5.0/fast/dom/Window/window-properties-expected.txt:
  • platform/qt-5.0/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
11:30 PM Changeset in webkit [114873] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed, add a baseline for computed style test after r114766.

  • platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt: Added.
11:16 PM Changeset in webkit [114872] by yurys@chromium.org
  • 6 edits in trunk

Web Inspector: make populateChildren methods private in heap profiler front-end
https://bugs.webkit.org/show_bug.cgi?id=84562

Source/WebCore:

  • populateChildren method on HeapSnapshotConstructorsDataGrid and

HeapSnapshotDiffDataGrid now is private.

  • Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which

is overriden in some descendants

  • Removed unused HeapSnapshotPathFinderProxy
  • added closure compiler annotations

Reviewed by Pavel Feldman.

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
(WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
(WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):

  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGridNode):
(WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
(WebInspector.HeapSnapshotDiffNode):
(WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):

  • inspector/front-end/HeapSnapshotProxy.js:

LayoutTests:

  • Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which

is overriden in some descendants

Reviewed by Pavel Feldman.

  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotContainmentDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotConstructorsDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled.WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
(initialize_HeapSnapshotTest.InspectorTest.startProfilerTest.detailedHeapProfilesEnabled):

10:59 PM Changeset in webkit [114871] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.

  • dom/DOMAllInOne.cpp: My nemesis.
10:40 PM Changeset in webkit [114870] by kling@webkit.org
  • 37 edits
    5 deletes in trunk/Source

Optimize Element attribute storage for the common case (no Attr objects.)
<http://webkit.org/b/83440>

Reviewed by Antti Koivisto.

Source/WebCore:

Reduce Attribute to its smallest possible size; a qname/value pair.
They are no-longer ref-counted, which allows us to store them in Vectors.

Refactored the DOM Attr object to go with the new Attribute:
Attr now wraps either {element, qname} or {qname, value}. The latter is for
the case where a standalone Attr object is instantiated via DOM APIs.

ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
Each Element (well, ElementAttributeData) keeps track of how many Attr
objects are pointing to it. This is so we can avoid hash lookups during
common operations in the typical case where you have zero Attrs.

Also removed the inline capacity (was 4) from AttributeVector as that
would significantly increase bloat now that we store Attribute (2 pointers)
rather than RefPtr<Attribute>. We trade this one piece of indirection
for the removal of per-Attribute indirection.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Attr.cpp:

(WebCore::Attr::Attr):
(WebCore):
(WebCore::Attr::create):
(WebCore::Attr::~Attr):
(WebCore::Attr::createTextChild):
(WebCore::Attr::setPrefix):
(WebCore::Attr::setValue):
(WebCore::Attr::cloneNode):
(WebCore::Attr::childrenChanged):
(WebCore::Attr::style):
(WebCore::Attr::value):
(WebCore::Attr::elementAttribute):
(WebCore::Attr::detachFromElementWithValue):
(WebCore::Attr::attachToElement):

  • dom/Attr.h:

(WebCore):
(Attr):
(WebCore::Attr::qualifiedName):
(WebCore::Attr::localName):
(WebCore::Attr::namespaceURI):
(WebCore::Attr::prefix):

  • dom/Attribute.cpp: Removed.
  • dom/Attribute.h:

(WebCore::Attribute::Attribute):
(Attribute):

  • dom/Document.cpp:

(WebCore::Document::importNode):
(WebCore::Document::createAttributeNS):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::detachAttribute):
(WebCore):
(WebCore::Element::removeAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::parserSetAttributes):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::normalizeAttributes):
(WebCore::Element::didRemoveAttribute):
(WebCore::Element::attrIfExists):
(WebCore::Element::ensureAttr):

  • dom/Element.h:

(Element):
(WebCore::Element::getAttributeItemIndex):

  • dom/ElementAttributeData.cpp:

(WebCore):
(WebCore::attrMap):
(WebCore::ElementAttributeData::attrIfExists):
(WebCore::ElementAttributeData::ensureAttr):
(WebCore::ElementAttributeData::setAttr):
(WebCore::ElementAttributeData::removeAttr):
(WebCore::AttributeVector::removeAttribute):
(WebCore::ElementAttributeData::~ElementAttributeData):
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::isEquivalent):
(WebCore::ElementAttributeData::detachAttributesFromElement):
(WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
(WebCore::ElementAttributeData::setAttributes):
(WebCore::ElementAttributeData::clearAttributes):
(WebCore::ElementAttributeData::replaceAttribute):
(WebCore::ElementAttributeData::getAttributeNode):

  • dom/ElementAttributeData.h:

(WebCore):
(WebCore::AttributeVector::AttributeVector):
(AttributeVector):
(WebCore::AttributeVector::getAttributeItem):
(WebCore::AttributeVector::getAttributeItemIndex):
(WebCore::AttributeVector::insertAttribute):
(WebCore::ElementAttributeData::attributeItem):
(ElementAttributeData):
(WebCore::ElementAttributeData::ElementAttributeData):
(WebCore::ElementAttributeData::attributeVector):
(WebCore::ElementAttributeData::clonedAttributeVector):
(WebCore::ElementAttributeData::removeAttribute):
(WebCore::ElementAttributeData::getAttributeItem):
(WebCore::ElementAttributeData::getAttributeItemIndex):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::getNamedItem):
(WebCore::NamedNodeMap::getNamedItemNS):
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::item):

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
(WebCore::HTMLConstructionSite::insertScriptElement):
(WebCore::HTMLConstructionSite::createElement):
(WebCore::HTMLConstructionSite::createHTMLElement):
(WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):

  • html/parser/HTMLToken.h:

(WebCore::AtomicHTMLToken::AtomicHTMLToken):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processFakeStartTag):
(WebCore::HTMLTreeBuilder::attributesForIsindexInput):
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
(WebCore):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):

  • html/parser/HTMLTreeBuilder.h:
  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):

  • svg/SVGFitToViewBox.cpp:
  • svg/properties/SVGAnimatedPropertySynchronizer.h:
  • xml/XMLErrors.cpp:

(WebCore::createXHTMLParserErrorHeader):
(WebCore::XMLErrors::insertErrorMessageBlock):

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::traversalSort):

  • xml/XPathStep.cpp:

(WebCore::XPath::Step::nodesInAxis):

  • xml/parser/MarkupTokenBase.h:

(WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
(WebCore::AtomicMarkupTokenBase::getAttributeItem):
(WebCore::AtomicMarkupTokenBase::attributes):
(AtomicMarkupTokenBase):
(WebCore::::initializeAttributes):

  • xml/parser/XMLToken.h:

(WebCore::AtomicXMLToken::AtomicXMLToken):

  • xml/parser/XMLTreeBuilder.cpp:

(WebCore::XMLTreeBuilder::processNamespaces):
(WebCore::XMLTreeBuilder::processAttributes):

Source/WebKit/chromium:

Remove the WebNamedNodeMap and WebAttribute API classes since they are no
longer needed by chromium after <http://crrev.com/133299>.

  • WebKit.gyp:
  • public/WebAttribute.h: Removed.
  • public/WebElement.h:
  • public/WebNamedNodeMap.h: Removed.
  • src/WebAttribute.cpp: Removed.
  • src/WebElement.cpp:
  • src/WebNamedNodeMap.cpp: Removed.
10:30 PM Changeset in webkit [114869] by commit-queue@webkit.org
  • 11 edits in trunk

.: [Gtk] Added MOZ_X11 build flag for TARGET_X11
[Qt] Added MOZ_X11 build flag for !embedded
[CMake] Added MOZ_X11 build flag for WTF_OS_UNIX
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

  • GNUmakefile.am:
  • Source/cmake/OptionsCommon.cmake:

Source/WebCore: Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
also, modified required build flags for Qt,Gtk and CMake
[Qt] Added MOZ_X11 build flag for !embedded
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required

  • WebCore.pri:
  • plugins/npapi.h:

Source/WebKit2: [Gtk] Added MOZ_X11 build flag for TARGET_X11
[Qt] Added MOZ_X11 build flag for !embedded
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

  • GNUmakefile.am:
  • Target.pri:

Tools: [Gtk] Added MOZ_X11 build flag for TARGET_X11
https://bugs.webkit.org/show_bug.cgi?id=40785

Patch by Sriram Neelakandan <sriram.neelakandan@gmail.com> on 2012-04-22
Reviewed by Anders Carlsson.

  • GNUmakefile.am:
10:22 PM Changeset in webkit [114868] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[TestResultsServer] Impossible to inspect builds on non-Chromium builders
https://bugs.webkit.org/show_bug.cgi?id=84544

Reviewed by Ryosuke Niwa.

Use the groupEnum parameter that is passed through to the onBuilderListLoad
function rather than an undefined attribute of the BuilderGroup object. This
makes it again possible to inspect builds on non-Chromium builders in the
test results server by not trying to always add Chromium revision links.

  • TestResultServer/static-dashboards/builders.js:
10:19 PM Changeset in webkit [114867] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Reset event propagation and canceled flags in Event.initEvent
https://bugs.webkit.org/show_bug.cgi?id=83964

Patch by Pablo Flouret <pablof@motorola.com> on 2012-04-22
Reviewed by Ryosuke Niwa.

Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
Useful for re-configuring an event before dispatching.

Source/WebCore:

Test: fast/events/flags-unset-on-init-event.html

  • dom/Event.cpp:

(WebCore::Event::initEvent):

LayoutTests:

  • fast/events/flags-unset-on-init-event-expected.txt: Added.
  • fast/events/flags-unset-on-init-event.html: Added.
9:48 PM Changeset in webkit [114866] by hbono@chromium.org
  • 2 edits in trunk/LayoutTests

Replace an undefined variable with a constant
https://bugs.webkit.org/show_bug.cgi?id=84427

Reviewed by Ryosuke Niwa.

Unfortunately, my r114605 uses an undefined variable 'sleepPeriod' and it
causes a JavaScript exception. This change replaces this variable with 1.

  • platform/chromium/editing/spelling/delete-misspelled-word.html:
7:13 PM Changeset in webkit [114865] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Remove the obsolete Hildon UI extensions
https://bugs.webkit.org/show_bug.cgi?id=83420

Patch by Adrian Bunk <bunk@stusta.de> on 2012-04-22
Reviewed by Martin Robinson.

.:

  • configure.ac:

Source/WebKit/gtk:

  • GNUmakefile.am:
  • WebCoreSupport/EditorClientGtk.cpp:

(WebKit::EditorClient::setInputMethodState):

  • webkit/webkitwebview.cpp:

(webkit_web_view_button_release_event):

5:56 PM Changeset in webkit [114864] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[Cairo] Implement CompositeDifference
https://bugs.webkit.org/show_bug.cgi?id=77354

Reviewed by Alejandro G. Castro.

No new tests. The difference compositing operator are not exposed
to web content, so this change is simply in preparation for a time
in which it is used.

Properly map the difference compositing blend modes to a Cairo operator.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::toCairoOperator): Add a mapping for difference. Remove
code supporting versions of Cairo before 1.10, since the Cairo backend
requires 1.10 or greater already.

4:01 PM Changeset in webkit [114863] by jonlee@apple.com
  • 8 edits in trunk/Source

Remove notifications support on Mac Lion.
https://bugs.webkit.org/show_bug.cgi?id=84554
<rdar://problem/11297128>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
3:27 PM Changeset in webkit [114862] by mnaganov@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Fix clang build after r114827, unreviewed.

  • tests/LayerTextureUpdaterTest.cpp:

(WebCore::TEST):

2:52 PM Applications using WebKit edited by alexandre.morgaut@4d.com
add Wakanda server ina new Server section (diff)
2:37 PM Applications using WebKit edited by alexandre.morgaut@4d.com
add Wakanda studio in "Web Development Applications" section (diff)
2:27 PM Changeset in webkit [114861] by mnaganov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectations update.

Mark fast/canvas/2d.text.draw.fill.maxWidth.gradient.html as flaky on Mac 10.6

  • platform/chromium/test_expectations.txt:
2:17 PM Changeset in webkit [114860] by mnaganov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed test expectations update.

fast/workers/storage/interrupt-database.html can also TIMEOUT in debug.

  • platform/chromium/test_expectations.txt:
2:06 PM Changeset in webkit [114859] by mnaganov@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

[Chromium] Unreviewed test expectations update.

css3/zoom-coords-expected.txt now passes on Mac
According to bot logs this is after <http://trac.webkit.org/changeset/114813>

  • platform/chromium-mac/css3/zoom-coords-expected.txt: Added.
1:58 PM April 2012 Meeting edited by tomz@codeaurora.org
(diff)
1:22 PM Changeset in webkit [114858] by shawnsingh@chromium.org
  • 4 edits in trunk/Source

[chromium] Damage Tracker needs to use CCMathUtil transforms
https://bugs.webkit.org/show_bug.cgi?id=84070

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added to CCDamageTracker.cpp.

This patch makes CCDamageTracker use CCMathUtil transforms, so
that perspective w < 0 problem is correctly handled.

  • platform/graphics/chromium/cc/CCDamageTracker.cpp:

(WebCore::CCDamageTracker::extendDamageForLayer):
(WebCore::CCDamageTracker::extendDamageForRenderSurface):

Source/WebKit/chromium:

  • tests/CCDamageTrackerTest.cpp:

(WebKitTests::TEST_F):
(WebKitTests):

11:45 AM April 2012 Meeting edited by tomz@codeaurora.org
(diff)
11:44 AM April 2012 Meeting edited by tomz@codeaurora.org
(diff)
10:39 AM April 2012 Meeting edited by peter@chromium.org
Add link about the Web Component Model status-update notes in the … (diff)
9:43 AM Changeset in webkit [114857] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt] Multi-level tap-to-zoom.
https://bugs.webkit.org/show_bug.cgi?id=84456

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-22
Reviewed by Kenneth Rohde Christiansen.

Replace tap-to-zoomed flag with a stack of progressively higher zoom levels,
and zoom out to last zoom-level when attempting to zoom to current level.

Additionally detect a series of tap-to-zoom gestures on the same level and
continue to zoom out.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):

  • UIProcess/qt/QtViewportInteractionEngine.h:

(QtViewportInteractionEngine):

Apr 21, 2012:

6:36 PM Acronyms edited by tkent@chromium.org
Add DFG, NRWT, ORWT and WTF (diff)
6:26 PM Porting Macros plan edited by tkent@chromium.org
Remove obsolete ENABLE flag names (diff)
5:18 PM Changeset in webkit [114856] by cevans@google.com
  • 1 edit in branches/chromium/1084/Source/WebCore/platform/graphics/GraphicsLayer.cpp

Merge 112939
BUG=121524
Review URL: https://chromiumcodereview.appspot.com/10169026

5:18 PM Changeset in webkit [114855] by jonlee@apple.com
  • 22 edits in trunk/Source

Add Notification constructor
https://bugs.webkit.org/show_bug.cgi?id=80477
<rdar://problem/10912431>

Reviewed by Jian Li.

Source/WebCore:

Tests will be added once there is support for web notifications on the Mac ports.

  • WebCore.exp.in: Export finalize() function.

Modify Dictionary to support creation of event listeners.

  • bindings/js/Dictionary.h:

(WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
(WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
(WebCore::Dictionary::get): Add convenience function to take const char* for
property name, to prevent having to do implicit conversion to WTF::String.
(WebCore::Dictionary::getEventListener): Add function to create event listener
from the dictionary.
(WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.

  • bindings/js/Dictionary.cpp:

(WebCore::Notification): Implement asJSObject() for Notification.

  • bindings/js/JSDictionary.h:

(WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
can obtain its world for creating the event listener.

  • bindings/v8/Dictionary.h:

(WebCore::Dictionary::getEventListener): Stub implementation.

Add new constructor to idl definitions.

  • notifications/DOMWindowNotifications.idl: Add Notification constructor, if

ENABLE(NOTIFICATIONS) is on.

  • notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define

the constructor. Otherwise, use OmitConstructor.

  • notifications/NotificationCenter.idl: Wrap creation functions in

ENABLE(LEGACY_NOTIFICATIONS).

  • notifications/NotificationCenter.h: Ditto.

(NotificationCenter):

  • notifications/Notification.h:

(Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
(WebCore::Notification::create): New creation function based on discussions in WG.

  • notifications/Notification.cpp:

(WebCore::getAndAddEventListener): Helper function to get the listener from the
dictionary, and attach to the notification.
(WebCore::Notification::create): Create the notification, then apply whatever
properties can be found in the dictionary to the notification. In order to
attach the event listeners, the notification has to have been created, which is
why this all happens in the factory method and not in the constructor.
(WebCore::Notification::setBody): Added so that it can be set if we find it in the
dictionary.

The new constructor queues a task to show when it is created. To support this, we
use a one-shot timer that calls show() in the next iteration of the run loop.
(WebCore::Notification::Notification): Start the timer.
(WebCore::Notification::showTaskTimerFired): Call show().

Notifications, not being attached to the DOM, could be GC'ed by the JS engine
before its life cycle has completed. We add calls to setPendingActivity() when the
notification has been shown, and when it is closed, we unsetPendingActivity().
To guarantee that we only call this once, we add a new state to the Notification
state machine, called NotificationState::Closed.
(WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
(WebCore::Notification::close): Include Closed state to machine; do nothing.
(WebCore::Notification::dispatchCloseEvent): Call finalize().
(WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
to make it available for GC.
(WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
around the icon load, we wrap around the show() -> finalize() loop.

In Notification, rename some of the stages and functions to more clearly communicate
that they mostly deal with the icon of the notification, instead of general loading.
(WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
(WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
(WebCore::Notification::~Notification): Refactor to use LoadingIcon.
(WebCore::Notification::startLoadingIcon): Renamed from startLoading().
(WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
(WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
(WebCore::Notification::didFinishLoading):
(WebCore::Notification::didFail):
(WebCore::Notification::didFailRedirectCheck):
(WebCore::Notification::didReceiveResponse):
(WebCore::Notification::finishLoading):

Add Dictionary.cpp.

  • GNUmakefile.list.am:
  • Target.pri:
  • UseJSC.cmake:
  • WebCore.gypi:

Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
don't use an exception code.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):

  • bindings/scripts/test/V8/V8TestObj.cpp: Reset results.

(WebCore::TestObjV8Internal::optionsObjectCallback):

Source/WebKit/mac:

  • WebCoreSupport/WebNotificationClient.mm:

(WebNotificationClient::clearNotifications): When clearing notifications, finalize
them so that they can be cleaned up by the GC.

Source/WebKit2:

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show): If the notification doesn't get shown,
we should return false, since it will not go through a setPendingActivity cycle.
(WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
finalize them so that they can be cleaned up by the GC.

5:01 PM Changeset in webkit [114854] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 112935
BUG=106413
Review URL: https://chromiumcodereview.appspot.com/10170019

4:59 PM Changeset in webkit [114853] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1025

Merge 112935
BUG=106413
Review URL: https://chromiumcodereview.appspot.com/10164022

4:56 PM Changeset in webkit [114852] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 113229
BUG=99229
Review URL: https://chromiumcodereview.appspot.com/10165023

4:54 PM Changeset in webkit [114851] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1084

Merge 113670
BUG=117110
Review URL: https://chromiumcodereview.appspot.com/10170018

4:52 PM Changeset in webkit [114850] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1025

Merge 113670
BUG=117110
Review URL: https://chromiumcodereview.appspot.com/10166026

4:19 PM Changeset in webkit [114849] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

Don't hard code the plugins that blackberry supports.
https://bugs.webkit.org/show_bug.cgi?id=84535

Use the existing PluginDatabase to query for the plugins we can handle.

The original implemention of FrameLoaderClientBlackBerry::createPlugin
was a partial copy from another port. In the Qt port there is some
workarounds for flash which is why this exists there. Sadly the bits
that were copied made it so only flash worked, but as flash was the only
plugin on the system this issue was not noticed until QNX tried to get
jnext working. Tracing it down to this bit of code rather then
correcting it they hardcoded the jnext into the same block as flash was.

The blackberry port isn't specifically suppose to only allow jnext and
flash, but was an accident due to the way this code was developed.

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::createPlugin):

3:40 PM Changeset in webkit [114848] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Support loading the same plugin in multiple locations in the Blackberry port.
https://bugs.webkit.org/show_bug.cgi?id=84537

The hash for the plugin is only based upon the plugin meta information
which will be the same for the same plugin in the system and user's
plugin folders.

It looks like this code was copied/based on the windows port
which doesn't allow the same plugin to be loaded more than once.

Because we want to support multiple copies of the same plugin
in the blackberry port we want to incorperate the path of the plugin
into the hash.

PR 150404

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

  • plugins/blackberry/PluginPackageBlackBerry.cpp:

(WebCore::PluginPackage::hash):

3:02 PM Changeset in webkit [114847] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Chromium roll attempt from r133173 to r133348.

  • DEPS:
1:11 PM Changeset in webkit [114846] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

System plugins are preferred over application plugins
https://bugs.webkit.org/show_bug.cgi?id=84538

Set the preferred paths for plugins so that plugins that reside
inside of the bar will be preferred over plugins that are in the
system folder.

PR 150404

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-04-21
Reviewed by Adam Treat.

  • plugins/PluginDatabase.cpp:

(WebCore::PluginDatabase::isPreferredPluginDirectory):

1:03 PM Changeset in webkit [114845] by Darin Adler
  • 3 edits in trunk/Source/JavaScriptCore

Change JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need to put characters into ints
https://bugs.webkit.org/show_bug.cgi?id=84523

Reviewed by Oliver Hunt.

Profiles showed that checks against -1 were costly, and I saw they could be eliminated.
Streamlined this code to use standard character types and 0 rather than -1. One benefit
of this is that there's no widening and narrowing. Another is that there are many cases
where we already have the correct behavior for 0, so can eliminate a branch that was
used to test for -1 before. Also eliminates typecasts in the code.

  • parser/Lexer.cpp:

(JSC::Lexer::invalidCharacterMessage): Updated use of String::format since m_current is now a
character type, not an int.
(JSC::Lexer::setCode): Use 0 rather than -1 when past the end.
(JSC::Lexer::shift): Ditto. Also spruced up the comment a bit.
(JSC::Lexer::atEnd): Added. New function that distinguishes an actual 0 character from the end
of the code. This can be used places we used to cheeck for -1.
(JSC::Lexer::peek): Updated to use -1 instead of 0. Removed meaningless comment.
(JSC::Lexer::parseFourDigitUnicodeHex): Changed to use character types instead of int.
(JSC::Lexer::shiftLineTerminator): Removed now-unneeded type casts. Changed local variable that
had a data-member-style name.
(JSC::Lexer::parseIdentifier): Removed now-unneeded explicit checks for -1, since the isIdentPart
function already returns false for the 0 character. Updated types in a couple other places. Used
the atEnd function where needed.
(JSC::Lexer::parseIdentifierSlowCase): More of the same.
(JSC::characterRequiresParseStringSlowCase): Added overloaded helper function for parseString.
(JSC::Lexer::parseString): Ditto.
(JSC::Lexer::parseStringSlowCase): Ditto.
(JSC::Lexer::parseMultilineComment): Ditto.
(JSC::Lexer::lex): More of the same. Also changed code to set the startOffset directly in
the tokenInfo instead of putting it in a local variable first, saving some memory access.
(JSC::Lexer::scanRegExp): Ditto.
(JSC::Lexer::skipRegExp): Ditto.

  • parser/Lexer.h: Changed return type of the peek function and type of m_current from int to

the character type. Added atEnd function.
(JSC::Lexer::setOffset): Used 0 instead of -1 and removed an overzealous attempt to optimize.
(JSC::Lexer::lexExpectIdentifier): Used 0 instead of -1.

12:46 PM Changeset in webkit [114844] by Darin Adler
  • 3 edits in trunk/Source/JavaScriptCore

Change JavaScript lexer to use 0 instead of -1 for sentinel, eliminating the need to put characters into ints
https://bugs.webkit.org/show_bug.cgi?id=84523

Reviewed by Oliver Hunt.

Separate preparation step of copyright dates, renaming, and other small tweaks.

  • parser/Lexer.cpp:

(JSC::Lexer::invalidCharacterMessage): Removed "get" from name to match WebKit naming conventions.
(JSC::Lexer::peek): Removed meaningless comment.
(JSC::Lexer::parseFourDigitUnicodeHex): Renamed from getUnicodeCharacter to be more precise about
what this function does.
(JSC::Lexer::shiftLineTerminator): Renamed local variable that had a data-member-style name.
(JSC::Lexer::parseStringSlowCase): Updated for new name of parseFourDigitUnicodeHex.
(JSC::Lexer::lex): Updated for new name of invalidCharacterMessage.

  • parser/Lexer.h: Removed an unneeded forward declaration of the RegExp class.

Renamed getInvalidCharMessage to invalidCharacterMessage and made it const. Renamed
getUnicodeCharacter to parseFourDigitUnicodeHex.

9:43 AM Changeset in webkit [114843] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Improve performance of removing user and password from URLs
https://bugs.webkit.org/show_bug.cgi?id=84525

Reviewed by Dan Bernstein.

Performance improvement only. Correctness covered by existing regression tests.

The most common use of KURL::setUser and KURL::setPass, by far, is to remove
the user and password from a URL that already has neither. Optimize this by
not re-parsing the URL in that case.

  • platform/KURL.cpp:

(WebCore::KURL::setUser): Restructure code so that the code path that removes
the user does no work when there is nothing to remove. Otherwise, leave the
logic of the function untouched.
(WebCore::KURL::setPass): Same thing, only for password rather than user.

3:46 AM Changeset in webkit [114842] by zandobersek@gmail.com
  • 1 edit
    5 moves in trunk/LayoutTests

Unreviewed - move some expectations added in r114839 to their proper location.

  • platform/gtk/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-containing-block-initial-007-expected.txt.
  • platform/gtk/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-non-replaced-width-margin-000-expected.txt.
  • platform/gtk/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Copied from LayoutTests/platform/gtk/css2.1/abspos-replaced-width-margin-000-expected.txt.
  • platform/gtk/css2.1/abspos-containing-block-initial-007-expected.txt: Removed.
  • platform/gtk/css2.1/abspos-non-replaced-width-margin-000-expected.txt: Removed.
  • platform/gtk/css2.1/abspos-replaced-width-margin-000-expected.txt: Removed.
  • platform/gtk/tables/bug137388-2-expected.txt: Removed.
  • platform/gtk/tables/bug29314-expected.txt: Removed.
  • platform/gtk/tables/mozilla/bugs/bug137388-2-expected.txt: Copied from LayoutTests/platform/gtk/tables/bug137388-2-expected.txt.
  • platform/gtk/tables/mozilla/bugs/bug29314-expected.txt: Copied from LayoutTests/platform/gtk/tables/bug29314-expected.txt.
1:49 AM Changeset in webkit [114841] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed weekend gardening, skip new failing reftests.

  • platform/qt/Skipped:
1:37 AM Changeset in webkit [114840] by Csaba Osztrogonác
  • 4 edits in trunk/LayoutTests

Unreviewed gardening after r114766.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/qt/svg/css/getComputedStyle-basic-expected.txt:
12:21 AM Changeset in webkit [114839] by Martin Robinson
  • 23 edits
    32 adds in trunk/LayoutTests

Rebaseline the last set of GTK+ tests after font metrics and mock scrollbar changes.

  • platform/gtk: Rebaseline tests.
Note: See TracTimeline for information about the timeline view.