⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jun 2, 2013:

10:32 PM Changeset in webkit [151092] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL Gardening.

  • platform/efl-wk2/TestExpectations: Unskipping some of webgl passing tests.
9:53 PM Changeset in webkit [151091] by commit-queue@webkit.org
  • 11 edits
    2 deletes in trunk/Source

[Qt] Move Qt port off legacy clipboard
https://bugs.webkit.org/show_bug.cgi?id=116416

Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-06-02
Reviewed by Darin Adler.

Source/WebCore:

No change in behavior, no new tests added.

  • Target.pri: Removed ClipboardQt.h and EditorQt.cpp from compilation.
  • dom/Clipboard.h:
  • editing/qt/EditorQt.cpp: Removed.
  • page/qt/EventHandlerQt.cpp: Use Clipboard::createForDragAndDrop().

(WebCore::EventHandler::createDraggingClipboard):

  • platform/Pasteboard.h:

(WebCore::Pasteboard::clipboardData): Expose writable QMimeData* to outside, so that it is accessible
from DragClientQt.cpp and WebDragClientQt.cpp.
(WebCore::Pasteboard::invalidateWritableData):
(WebCore::Pasteboard::isForDragAndDrop):
(WebCore::Pasteboard::isForCopyAndPaste):

  • platform/qt/ClipboardQt.cpp:

(WebCore::Clipboard::createDragImage):
(WebCore::Clipboard::declareAndWriteDragImage):

  • platform/qt/ClipboardQt.h: Removed.
  • platform/qt/PasteboardQt.cpp: Moved required methods from ClipboardQt.cpp.

(WebCore::isTextMimeType):
(WebCore::isHtmlMimeType):
(WebCore::Pasteboard::create):
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::isSelectionMode):
(WebCore::Pasteboard::setSelectionMode):
(WebCore::Pasteboard::readData):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::writeString):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readFilenames):
(WebCore::Pasteboard::setDragImage):
(WebCore::Pasteboard::writePasteboard):

Source/WebKit/qt:

  • WebCoreSupport/DragClientQt.cpp:

(WebCore::DragClientQt::startDrag):

Source/WebKit2:

  • WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:

(WebKit::WebDragClient::startDrag):

9:14 PM Changeset in webkit [151090] by Lucas Forschler
  • 4 edits in branches/safari-537.43-branch/Source

Versioning.

9:13 PM Changeset in webkit [151089] by Lucas Forschler
  • 1 copy in tags/Safari-537.43.7

New Tag.

6:43 PM Changeset in webkit [151088] by beidson@apple.com
  • 3 edits
    3 adds in trunk

Going "back" to a cached page from a page with a main resource error breaks scrolling, amongst other issues.
<rdar://problem/13751844> and https://bugs.webkit.org/show_bug.cgi?id=117112

Reviewed by Alexey Proskuryakov.

Source/WebCore:

If a main resource load ends in error, the Document's parser is never cleared out.

If you then return to a CachedPage, we run the Document->clearParser() step for the
old page and that incorrectly dispatches didFinishLoad for the previous page load
in the middle of the load for the cached page.

The parser should never be needed after a load completes (even if it fails) and
holding on to the parser after the page load failed but before a new navigation is
actually using unnecessary resources.

So we should just clear the parser right when the main resource fails.

Test: http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading): After canceling the main resource load, also clear the parser.

LayoutTests:

  • http/tests/loading/resources/resource-that-goes-back-while-still-loading.php: Added.
  • http/tests/loading/unfinished-load-back-to-cached-page-callbacks-expected.txt: Added.
  • http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: Added.
4:34 PM Changeset in webkit [151087] by sfalken@apple.com
  • 1 edit in branches/safari-537.43-branch/Source/WebCore/ChangeLog

Fix typo in ChangeLog

4:33 PM Changeset in webkit [151086] by sfalken@apple.com
  • 6 edits in branches/safari-537.43-branch/Source/WebCore

Rollout r151084

2:32 PM Changeset in webkit [151085] by weinig@apple.com
  • 6 edits in branches/safari-537.43-branch/Source/WebCore

Merged r151076. <rdar://problem/14042030>

1:37 PM Changeset in webkit [151084] by ap@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

The empty directory did not get deleted by commit queue, deleting manually.

  • xmlviewer: Removed.
  • xmlviewer/resources: Removed.
12:08 PM Changeset in webkit [151083] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[CMake] Unreviewed buildfix after r148896 and r150940.

  • CMakeLists.txt:
10:29 AM Changeset in webkit [151082] by fpizlo@apple.com
  • 6 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Get rid of StructureStubInfo::bytecodeIndex
https://bugs.webkit.org/show_bug.cgi?id=117127

Reviewed by Mark Hahnenberg.

StructureStubInfo already has a CodeOrigin field, which also has a bytecodeIndex.
It makes sense to just always use the CodeOrigin.

  • bytecode/StructureStubInfo.h:

(StructureStubInfo):
(JSC::getStructureStubInfoBytecodeIndex):

  • jit/JIT.cpp:

(JSC::PropertyStubCompilationInfo::copyToStubInfo):

  • jit/JIT.h:

(JSC::JIT::compileGetByIdProto):
(JSC::JIT::compileGetByIdSelfList):
(JSC::JIT::compileGetByIdProtoList):
(JSC::JIT::compileGetByIdChainList):
(JSC::JIT::compileGetByIdChain):
(JSC::JIT::compilePutByIdTransition):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

1:33 AM Changeset in webkit [151081] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics]: Use a properly initialized WebPage when creating a PageClient
https://bugs.webkit.org/show_bug.cgi?id=117116

Patch by Sergio Correia <Sergio Correia> on 2013-06-02
Reviewed by Tim Horton.

Valgrind reported a "conditional jump or move depends on uninitialised value"
at WebPageProxy constructor, when checking the m_isVisible variable inside
the ENABLE(PAGE_VISIBILITY_API) guard.

The issue was tracked down to the WebView constructor, which was creating a
WebKit::PageClient* making use of `this' before having initialized all of its
attributes.

The solution was to move the initialization of the `page' member to inside the
constructor itself - out of the initialization list -, where we can guarantee
all the relevant stuff has already been properly initialized.

Here's the relevant valgrind trace for reference:

Conditional jump or move depends on uninitialised value(s)

at 0x65A35A4: WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient*,

WTF::PassRefPtr<WebKit::WebProcessProxy>,
WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:322)

by 0x65A2BA2: WebKit::WebPageProxy::create(WebKit::PageClient*,

WTF::PassRefPtr<WebKit::WebProcessProxy>,
WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:233)

by 0x65E94BB: WebKit::WebProcessProxy::createWebPage(WebKit::PageClient*,

WebKit::WebContext*, WebKit::WebPageGroup*)
(WebProcessProxy.cpp:172)

by 0x6570957: WebKit::WebContext::createWebPage(WebKit::PageClient*,

WebKit::WebPageGroup*, WebKit::WebPageProxy*)
(WebContext.cpp:735)

by 0x67673E3: WebKit::WebView::WebView(WebKit::WebContext*,

WebKit::WebPageGroup*) (WebView.cpp:52)

by 0x6775F18: WebKit::WebViewEfl::WebViewEfl(WebKit::WebContext*,

WebKit::WebPageGroup*) (WebViewEfl.cpp:54)

by 0x6775EB4: WebKit::WebView::create(WebKit::WebContext*,

WebKit::WebPageGroup*) (WebViewEfl.cpp:49)

by 0x673E13D: WKViewCreate (WKView.cpp:33)
by 0x6763ECE: EWKViewCreate (ewk_view.cpp:92)

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::WebView):

1:14 AM Changeset in webkit [151080] by ap@apple.com
  • 4 edits
    2 adds
    3 deletes in trunk

Unstyled XML viewer crashes when XML contains an element with id="tree"
https://bugs.webkit.org/show_bug.cgi?id=117117
<rdar://problem/13727267>

Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/xmlviewer/dumpAsText/existing-tree-element-crash.xml

  • xml/XMLViewer.css: Removed the rule to hide source document, as we no longer

keep it in the tree.

  • xml/XMLViewer.js:

(prepareWebKitXMLViewer): Make sourceXML a detached tree, as otherwise it can
have ID conflicts with elements we add.
(sourceXMLLoaded): Removed some commented out code. Removed code that was checking
whether an extension took over XML display, as it makes no sense to duplicate this
functionality in an extension.

LayoutTests:

  • http/tests/xmlviewer/dumpAsText/existing-tree-element-crash-expected.txt: Added.
  • http/tests/xmlviewer/dumpAsText/existing-tree-element-crash.xml: Added.
  • xmlviewer: Removed.
  • xmlviewer/extensions-api-expected.txt: Removed.
  • xmlviewer/extensions-api.html: Removed.
  • xmlviewer/resources: Removed.
  • xmlviewer/resources/sample.xml: Removed.

The "API" no longer exists.

Jun 1, 2013:

9:42 PM Changeset in webkit [151079] by Chris Fleizach
  • 3 edits
    2 adds in trunk

WebKit ignores aria-hidden when traversing nodes for name calculation
https://bugs.webkit.org/show_bug.cgi?id=117101

Reviewed by Tim Horton.

Source/WebCore:

When calculating the inner text, aria-hidden should be considered.

Test: accessibility/text-role-with-aria-hidden-inside.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessiblityObjectInnerText):

LayoutTests:

  • accessibility/text-role-with-aria-hidden-inside-expected.txt: Added.
  • accessibility/text-role-with-aria-hidden-inside.html: Added.
4:41 PM Changeset in webkit [151078] by jberlin@webkit.org
  • 8 edits in branches/safari-537.43-branch/Source/WebKit2

Merge r151054.

4:31 PM Changeset in webkit [151077] by jberlin@webkit.org
  • 17 edits in branches/safari-537.43-branch/Source/WebKit2

Merge r151043.

4:26 PM Changeset in webkit [151076] by Darin Adler
  • 6 edits in trunk/Source/WebCore

window.speechSynthesis needs to be cheap
https://bugs.webkit.org/show_bug.cgi?id=117111
rdar://problem/14042030

Reviewed by Dean Jackson.

Add the traditional laziness to all of the speech synthesis code, wherever
it was omitted.

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::create): Tweaked style (took out unneeded parentheses).
(WebCore::SpeechSynthesis::SpeechSynthesis): Don't create m_platformSpeechSynthesizer.
(WebCore::SpeechSynthesis::setPlatformSynthesizer): Clear state when changing the
platform speech synthesizer. Since this code is only used to set up a mock in the
test runner, the fact that it was wrong before was harmless, but still not good.
(WebCore::SpeechSynthesis::getVoices): Create the platform speech synthesizer here
so we can get the voice list from it.
(WebCore::SpeechSynthesis::startSpeakingImmediately): Create the platform speech
synthesizer here.
(WebCore::SpeechSynthesis::cancel): Check the platform speech synthesizer for
null and do nothing if it's not present.
(WebCore::SpeechSynthesis::pause): Ditto.
(WebCore::SpeechSynthesis::resume): Ditto.

  • platform/PlatformSpeechSynthesizer.cpp:

(WebCore::PlatformSpeechSynthesizer::create): Don't call initializeVoiceList just
to create a synthesizer.
(WebCore::PlatformSpeechSynthesizer::voiceList): Do call initializeVoiceList once
when asked for a voice list.

  • platform/PlatformSpeechSynthesizer.h: The voiceList function is no longer inlined.

The unused setVoiceList function has been removed. The initializeVoiceList is now
private rather than protected. Added a new m_voiceListIsInitialized boolean.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer): Initialize
m_voiceListIsInitialized to false.

  • platform/mock/PlatformSpeechSynthesizerMock.cpp:

(WebCore::PlatformSpeechSynthesizerMock::create): Don't call initializeVoiceList just
to create a synthesizer.
(WebCore::PlatformSpeechSynthesizerMock::~PlatformSpeechSynthesizerMock):
Removed unneeded call to m_speakingFinishedTimer.stop() since timers automatically
stop when you destroy them.
(WebCore::PlatformSpeechSynthesizerMock::initializeVoiceList): Removed unneeded
call to m_voiceList.clear(), since the caller only calls this once when the
voice list is already clear.

4:09 PM Changeset in webkit [151075] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add a preferred email address and "expertise" for me.

  • Scripts/webkitpy/common/config/contributors.json:
4:09 PM Changeset in webkit [151074] by jberlin@webkit.org
  • 2 edits in branches/safari-537.43-branch/Tools

Merge r150636.

3:24 PM Changeset in webkit [151073] by fpizlo@apple.com
  • 11 edits in branches/dfgFourthTier/Source/JavaScriptCore

Fix some minor issues in the DFG's profiling of heap accesses
https://bugs.webkit.org/show_bug.cgi?id=113010

Reviewed by Goeffrey Garen.

Carefully merge r146669 from trunk. This required some fiddling since it
wasn't a clean apply.

Original changelog:

1) If a CodeBlock gets jettisoned by GC, we should count the exit sites.


2) If a CodeBlock clears a structure stub during GC, it should record this, and
the DFG should prefer to not inline that access (i.e. treat it as if it had an
exit site).


3) If a PutById was seen by the baseline JIT, and the JIT attempted to cache it,
but it chose not to, then assume that it will take slow path.


4) If we frequently exited because of a structure check on a weak constant,
don't try to inline that access in the future.


5) Treat all exits that were counted as being frequent.


81% speed-up on Octane/gbemu. Small speed-ups elsewhere, and no regressions.


  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally):
(JSC):
(JSC::CodeBlock::resetStubDuringGCInternal):
(JSC::CodeBlock::reoptimize):
(JSC::CodeBlock::jettison):
(JSC::ProgramCodeBlock::jettisonImpl):
(JSC::EvalCodeBlock::jettisonImpl):
(JSC::FunctionCodeBlock::jettisonImpl):
(JSC::CodeBlock::tallyFrequentExitSites):

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::tallyFrequentExitSites):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::StructureStubInfo):
(StructureStubInfo):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGOSRExitBase.cpp:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):
(OSRExitBase):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Options.h:

(JSC):

11:02 AM Changeset in webkit [151072] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Fix typo in r151071.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

3:20 AM Changeset in webkit [151071] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Move Node::hasName() to Element.
<http://webkit.org/b/117107>

Reviewed by Antti Koivisto.

A Node can't have attributes, and thus can't have a name.
Use a bit on ElementData instead of (half) a Node flag to track whether we have a name.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::ElementData::ElementData):

  • dom/Element.h:

(WebCore::ElementData::hasName):
(WebCore::Element::hasName):

  • dom/Node.h:

(WebCore::Node::isEditingText):

2:48 AM Changeset in webkit [151070] by akling@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove unnused WebDOMNodeOperationsInternal category.
<http://webkit.org/b/117105>

Reviewed by Ryosuke Niwa.

_subresourceURLs had no clients.

  • DOM/WebDOMOperations.mm:
2:39 AM Changeset in webkit [151069] by akling@apple.com
  • 8 edits in trunk/Source

Move Node::hasID() and hasClass() to Element.
<http://webkit.org/b/117104>

Reviewed by Ryosuke Niwa.

Source/WebCore:

A Node can't have attributes, and thus can't have an ID or a class.
Move these to Element instead, and fix up a few call sites that called through on a Node*.

  • dom/Element.h:
  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::namedItem):

  • dom/Node.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::name):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::writeRenderRegionList):

Source/WebKit/mac:

  • WebView/WebRenderLayer.mm:

(+[WebRenderLayer nameForLayer:]):

Note: See TracTimeline for information about the timeline view.