Timeline



May 28, 2013:

10:29 PM Changeset in webkit [150867] by Nate Chapin
  • 7 edits in trunk/Source/WebCore

Crash in WebCore::SubresourceLoader::releaseResources when connection fails
https://bugs.webkit.org/show_bug.cgi?id=87743

Don't do anything complicated in SubresourceLoader::releaseResources(),
just clear variables. With this patch, releaseResources() will still
assert in debug builds if it is called twice, but it will safely execute
in release.

Reviewed by Darin Adler.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::cleanupForError): Pull shared cleanup code out of didFail()

and cancel() into a helper.

(WebCore::ResourceLoader::cancel): Merge a couple variables into an enum, check for

reentrancy from within didCancel().

  • loader/ResourceLoader.h: Replace m_calledWillCancel and m_cancelled with an enum.
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading): Don't call ResourceLoader::didFinishLoading(),

put finish() in the middle of the process.

(WebCore::SubresourceLoader::didFail): Don't call ResourceLoader::didFail(), put finish()

in the middle of the process.

(WebCore::SubresourceLoader::didCancel):
(WebCore::SubresourceLoader::notifyDone): Do the non-trivial work previous done in releaseResources(),

most importantly calling loadDone().

(WebCore::SubresourceLoader::releaseResources): Only do simple variable clearing here.

  • loader/SubresourceLoader.h:

(SubresourceLoader):

  • loader/cache/CachedResource.cpp: Split stopLoading() into cancelLoad() (which notifies clients)

and clearLoader() (which just nulls m_loader).

  • loader/cache/CachedResource.h:
  • loader/chromium/ResourceLoaderChromium.cpp:
10:29 PM Changeset in webkit [150866] by a.bah@samsung.com
  • 2 edits in trunk/Tools

Unreviewed: Adding myself to committers list.

10:21 PM Changeset in webkit [150865] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

[GTK] Build fix after r150837
https://bugs.webkit.org/show_bug.cgi?id=116904

Unreviewed build fix.

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-28

  • GNUmakefile.am:
10:04 PM Changeset in webkit [150864] by Lucas Forschler
  • 2 edits in tags/Safari-537.43.2a/Source/WebCore

Merged r150863. <rdar://problem/13991927>

9:56 PM Changeset in webkit [150863] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r150169): Images from file: URLs display after a delay even though they were preloaded by JavaScript
https://bugs.webkit.org/show_bug.cgi?id=116906
<rdar://problem/13991927>

Reviewed by Andreas Kling.

Writing a test for this is blocked on https://webkit.org/b/116199.

Some WebKit clients use JavaScript to preload images from disk so that
subsequent loads will display immediately from the memory cache. By not
caching non-HTTP sub-resources in memory, we break this common pattern.
This change restricts r150169 to only apply to cached main resources.
Sub-resources will again be cached indefinitely as they were prior to
r150169.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::freshnessLifetime): If this is a non-HTTP
main resource from a scheme that should not be cached indefinitely,
return 0 for the freshness lifetime. For other non-HTTP cached
resources, return an indefinite freshness lifetime.

8:14 PM Changeset in webkit [150862] by dino@apple.com
  • 3 edits
    3 adds in trunk

Animations do not restart after exiting page cache
https://bugs.webkit.org/show_bug.cgi?id=116900

Reviewed by Tim Horton.

Source/WebCore:

Animations are suspended as they enter the page cache, but
were not getting correctly resumed when exiting. The cause
was an error in r149576 which was checking a global flag for suspension
on the AnimationController and thus not trying to resume anything.

Test: animations/resume-after-page-cache.html

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):

LayoutTests:

New test to make sure an animation will resume if it
enters and leaves the page cache.

  • animations/resources/page-cache-helper.html: Added.
  • animations/resume-after-page-cache-expected.txt: Added.
  • animations/resume-after-page-cache.html: Added.
7:23 PM Changeset in webkit [150861] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Drag to move DOM nodes does not work
https://bugs.webkit.org/show_bug.cgi?id=116865

Do not block drag events on the WebKit 1 Web Inspector WebView.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-05-28
Reviewed by Timothy Hatcher.

  • WebCoreSupport/WebInspectorClient.mm:
6:39 PM Changeset in webkit [150860] by fpizlo@apple.com
  • 7 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support ArithAbs
https://bugs.webkit.org/show_bug.cgi?id=116890

Reviewed by Oliver Hunt.

Implements ArithAbs in the FTL, and cleans up the DFG implementation. The
DFG implementation was previously doing zero extensions manually when it
is probably better to just use StrictInt32Operand instead.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:

(FTL):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(LowerDFGToLLVM):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleAbs):

5:38 PM Changeset in webkit [150859] by Lucas Forschler
  • 3 edits in tags/Safari-537.43.2a/Source/WebKit2

Merged r150532. <rdar://problem/13962816>

5:35 PM Changeset in webkit [150858] by Lucas Forschler
  • 1 copy in tags/Safari-537.43.2a

New Tag.

5:19 PM Changeset in webkit [150857] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Silence last crash to get bots green.

  • platform/win/TestExpectations:
4:42 PM Changeset in webkit [150856] by crogers@google.com
  • 11 edits in trunk/Source/WebCore

Support multiple HRTFDatabases for different sample-rates
https://bugs.webkit.org/show_bug.cgi?id=116183

Reviewed by Kenneth Russell.

Adapted from Blink:
https://codereview.chromium.org/14636011/

This removes the limitation which required OfflineAudioContexts to be created at native sample-rate

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::hrtfDatabaseLoader):
(AudioContext):

  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::create):

  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::offlineRender):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::initialize):
(WebCore::PannerNode::setPanningModel):

  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore):
(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
(WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):

  • platform/audio/HRTFDatabaseLoader.h:

(HRTFDatabaseLoader):
(WebCore::HRTFDatabaseLoader::loaderMap):

  • platform/audio/HRTFPanner.cpp:

(WebCore::HRTFPanner::HRTFPanner):
(WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
(WebCore::HRTFPanner::pan):

  • platform/audio/HRTFPanner.h:

(HRTFPanner):

  • platform/audio/Panner.cpp:

(WebCore::Panner::create):

  • platform/audio/Panner.h:

(WebCore):

4:35 PM Changeset in webkit [150855] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix.

  • platform/cf/KURLCFNet.cpp: (WebCore::KURL::createCFURL):
4:27 PM Changeset in webkit [150854] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Windows] Many css2.1 tests fail on Apple's Windows port.
https://bugs.webkit.org/show_bug.cgi?id=75707

Reviewed by Darin Adler.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Export the WebCore::directoryName method for use by DRT.

4:26 PM Changeset in webkit [150853] by ap@apple.com
  • 14 edits
    5 adds in trunk

Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled
https://bugs.webkit.org/show_bug.cgi?id=116887
<rdar://problem/12965959>

Reviewed by Darin Adler.

  • Shared/cf/ArgumentCodersCF.cpp: (CoreIPC::encode): (CoreIPC::decode): Fix for the bug: use good shared WebCore code to manipulate CFURLs. Also, added a FIXME about empty URLs.
  • Shared/API/c/cf/WKURLCF.cpp: (WKURLCreateWithCFURL): Fixed to not use CFURLGetString, as that could prevent loading certain resources, like ones with curly braces in resource specifiers. We want KURL normalization, not CFURL one.
4:26 PM Changeset in webkit [150852] by Brent Fulgham
  • 1 edit in trunk/Source/WebKit/win/ChangeLog

[Windows] Many css2.1 tests fail on Apple's Windows port.
https://bugs.webkit.org/show_bug.cgi?id=75707

Reviewed by Darin Adler.

  • WebKit.vcproj/WebKitExports.def.in: Export the

WebCore::directoryName method for DRT use.

4:18 PM Changeset in webkit [150851] by Brent Fulgham
  • 2 edits in trunk/Tools

[Windows] Many CSS2.1 tests fail under NRWT.
https://bugs.webkit.org/show_bug.cgi?id=75707

Patch by Brent Fulgham <bfulgham@webkit.org> on 2013-05-28
Reviewed by Darin Adler.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(findFontFallback): Added
(addFontFallbackIfPresent): Added
(removeFontFallbackIfPresent): Added
(runTest): Set up/remove font fallbacks when needed.

3:59 PM Changeset in webkit [150850] by Brent Fulgham
  • 3 edits in trunk/Tools

[Windows] NRWT reports failure for 'mac' test cases.
https://bugs.webkit.org/show_bug.cgi?id=116698

Reviewed by Ryosuke Niwa.

The Windows port falls back to the Mac port for many test results,
and so adds the mac and mac-wk2 to its set of fallbacks.
Unfortunately, NRWT thinks that this means that tests in these
folders should be executed, resulting in many failures on
Windows.

This change overloads the '_tests_for_other_platforms' method
to return a subset of the result fallback list so that we do
not attempt to execute Mac tests on Windows.

  • Scripts/webkitpy/port/base.py:

(Port.test_search_path): Added. Defaults to just calling the
baseline_search_path method, which is how most ports behave.
(Port._test_for_other_platforms): Modified to call the new
test_search_path method.

  • Scripts/webkitpy/port/win.py:

(WinPort.test_search_path): Added custom overload. Strips
out mac-specific test paths.

3:57 PM Changeset in webkit [150849] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] More attempts to make the bot green.

  • platform/win/TestExpectations: Exclude another two flaky tests.
3:40 PM Changeset in webkit [150848] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

fast/js/date-DST-time-cusps.html fails after http://trac.webkit.org/changeset/150833
https://bugs.webkit.org/show_bug.cgi?id=116895

Unreviewed, add failing test expectation.

3:33 PM Changeset in webkit [150847] by Lucas Forschler
  • 2 edits in branches/safari-537.43-branch/Source/WebKit2

Merged r150774. <rdar://problem/13458534>

3:32 PM Changeset in webkit [150846] by Lucas Forschler
  • 2 edits in branches/safari-537.43-branch/Source/WebKit2

Merged r150773. <rdar://problem/13458534>

3:31 PM Changeset in webkit [150845] by Lucas Forschler
  • 13 edits in branches/safari-537.43-branch/Source

Merged r150771. <rdar://problem/13458534>

3:26 PM Changeset in webkit [150844] by mark.lam@apple.com
  • 16 edits
    1 add in branches/dfgFourthTier/Source/JavaScriptCore

Misc JIT probe enhacements.
https://bugs.webkit.org/show_bug.cgi?id=116586.

Reviewed by Michael Saboff.

  1. Added JIT probe support for ARMv7 and traditional ARM. Built and tested on ARMv7. ARM version not tested nor built.
  2. Fix the following bugs in the X86 and X86_64 probes:
    1. Cannot assume that the stack pointer is already aligned when we push args for the probe. Instead, we ensure the stack alignment at runtime when we set up the probe call. This is now done in the ctiMasmProbeTrampoline.
    2. On return, the user probe function may have altered the stack pointer value to be restored. Previously, if the sp restore value points to some of the other register restore values in the ProbeContext record, we will fail to return from the probe having those user specified value as we're expected to do. This is now fixed.
  3. Rearranged the X86/X86_64 registers order to organize them like gdb expects on X86_64.
  4. We also now preserve the condition code registers.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:

(ARMRegisters):

  • assembler/MacroAssemblerARM.cpp:

(JSC::isVFPPresent):
(JSC::MacroAssemblerARM::ProbeContext::dumpCPURegisters):
(JSC::MacroAssemblerARM::ProbeContext::dump):
(JSC::MacroAssemblerARM::probe):

  • assembler/MacroAssemblerARM.h:

(MacroAssemblerARM):
(CPUState):
(ProbeContext):
(JSC::MacroAssemblerARM::trustedImm32FromPtr):

  • assembler/MacroAssemblerARMv7.h:

(MacroAssemblerARMv7):
(CPUState):
(ProbeContext):
(JSC::MacroAssemblerARMv7::trustedImm32FromPtr):

  • assembler/MacroAssemblerX86.h:

(MacroAssemblerX86):
(JSC::MacroAssemblerX86::probe):

  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::ProbeContext::dumpCPURegisters):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::probe):

  • assembler/X86Assembler.h:
  • config.h:
  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86Common.h:
  • jit/JITStubsX86_64.h:
3:24 PM Changeset in webkit [150843] by fpizlo@apple.com
  • 13 edits in branches/dfgFourthTier/LayoutTests

fourthTier: convert more fast/js/dfg-* tests to wait for the concurrent JIT

Rubber stamped by Oliver Hunt.

  • fast/js/dfg-arguments-alias-one-block-expected.txt:
  • fast/js/dfg-arguments-cross-code-origin-expected.txt:
  • fast/js/dfg-arguments-mixed-alias-expected.txt:
  • fast/js/dfg-arguments-osr-exit-expected.txt:
  • fast/js/dfg-arguments-osr-exit-multiple-blocks-before-exit-expected.txt:
  • fast/js/dfg-arguments-unexpected-escape-expected.txt:
  • fast/js/script-tests/dfg-arguments-alias-one-block.js:
  • fast/js/script-tests/dfg-arguments-cross-code-origin.js:
  • fast/js/script-tests/dfg-arguments-mixed-alias.js:
  • fast/js/script-tests/dfg-arguments-osr-exit-multiple-blocks-before-exit.js:
  • fast/js/script-tests/dfg-arguments-osr-exit.js:
  • fast/js/script-tests/dfg-arguments-unexpected-escape.js:
3:22 PM Changeset in webkit [150842] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Windows] Put correct byteCompile symbol in file. Previous version
had an extra 'i' appended to the end.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
3:07 PM Changeset in webkit [150841] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed build fix. Remove ?byteCompile symbol that
is no longer accessible during link.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
3:01 PM Changeset in webkit [150840] by roger_fong@apple.com
  • 12 edits
    2 adds in branches/safari-537.43-branch

Disable some feature flags.
<rdar://problem/12952646>.
Rubberstamped by Jon Lee.
Disabled flags:
ENABLE_CSS_COMPOSITING
ENABLE_CSS_EXCLUSIONS
ENABLE_CSS_SHADERS
ENABLE_IFRAME_SEAMLESS
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED
ENABLE_SHARED_WORKERS

  • Configurations/FeatureDefines.xcconfig:
  • rendering/RenderBlock.cpp:

(WebCore::exclusionInfoRequiresRelayout):
(WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):

  • platform/mac/TestExpectations:
  • platform/mac/fast/dom/call-a-constructor-as-a-function-expected.txt: Added.
  • platform/mac/fast/js/constructor-length-expected.txt:
  • platform/mac/fast/js/global-constructors-attributes-expected.txt: Added.
2:53 PM Changeset in webkit [150839] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should call masqueradesAsUndefinedWatchpointIfIsStillValid() in all of the places where it currently calls masqueradesAsUndefinedWatchpointIsStillValid()
https://bugs.webkit.org/show_bug.cgi?id=116892

Reviewed by Oliver Hunt.

All of those places mean to plant the watchpoint if it's still valid.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::speculateNonNullObject):

2:52 PM Changeset in webkit [150838] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Rendering suppression extension tokens shouldn't be 0, should handle overflow
https://bugs.webkit.org/show_bug.cgi?id=116886
<rdar://problem/14004474>

Reviewed by Darin Adler.

Don't use invalid HashSet values as tokens, and ensure that
we're not already using a token before returning it.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::extendIncrementalRenderingSuppression):

2:50 PM Changeset in webkit [150837] by andersca@apple.com
  • 12 edits
    2 moves
    1 add in trunk/Source

Create a html/forms subdirectory and move FileIconLoader there
https://bugs.webkit.org/show_bug.cgi?id=116880

Reviewed by Jessie Berlin.

A lot (if not the majority) of files in html/ are forms related, so it makes sense to begin splitting
them out into a separate subdirectory, html/forms.

Begin my moving FileIconLoader from platform to html/forms. It is related to HTML forms (it's only used by
the file upload element), and is not really a platform abstraction so it doesn't belong in platform.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/forms/FileIconLoader.cpp: Renamed from Source/WebCore/platform/FileIconLoader.cpp.
  • html/forms/FileIconLoader.h: Renamed from Source/WebCore/platform/FileIconLoader.h.
2:47 PM Changeset in webkit [150836] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: WKView is unable to set AXFocused to YES and does not handle keyboard events as expected
https://bugs.webkit.org/show_bug.cgi?id=116756

Reviewed by Tim Horton.

If AXFocused is set to true, but the WebView is not the first responder, then the call will
not do anything. This change asks the Chrome to make the WebView the first responder before
trying to set focus within the page.

Was not able to make a test, it requires on interplay between areas outside the web view.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):

2:45 PM Changeset in webkit [150835] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

String(new Date(2010,10,1)) is wrong in KRAT, YAKT
https://bugs.webkit.org/show_bug.cgi?id=106750

Reviewed by Darin Adler.

  • runtime/JSDateMath.cpp:

(JSC::msToGregorianDateTime):

  • Additional review comment fix.
2:45 PM Changeset in webkit [150834] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Windows] Unreviewed build fix after r150833

A CR/LF combination was lost in the file, combining two symbols.

2:33 PM Changeset in webkit [150833] by barraclough@apple.com
  • 11 edits in trunk/Source

String(new Date(2010,10,1)) is wrong in KRAT, YAKT
https://bugs.webkit.org/show_bug.cgi?id=106750

Reviewed by Darin Adler.

First part of a fix, simplfy date handling code, instead of operating separately
on the UTC-standard and standard-DST offsets, just generate a combined UTC-local
offset (this is what we actually need, and what the OS gives us).

../JavaScriptCore:

  • runtime/JSDateMath.cpp:

(JSC::getLocalTimeOffset):

  • removed getUTCOffset, converted getDSTOffset -> getLocalTimeOffset

(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):

  • call getLocalTimeOffset instead of getUTCOffset/getDSTOffset
  • runtime/VM.cpp:

(JSC::VM::resetDateCache):

  • removed cachedUTCOffset, converted DSTOffsetCache -> LocalTimeOffsetCache
  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
(LocalTimeOffsetCache):

  • removed cachedUTCOffset, converted DSTOffsetCache -> LocalTimeOffsetCache

../WTF:

  • wtf/DateMath.cpp:

(WTF::calculateUTCOffset):
(WTF::calculateDSTOffset):

  • made static, now not called from outside of this file.

(WTF::calculateLocalTimeOffset):

  • This combines the 2038 related adjustment from calculateDSTOffset with the maxUnixTime adjustment from calculateDSTOffsetSimple. Then, if HAVE(TM_GMTOFF) just call getLocalTime, if not use calculateUTCOffset/calculateDSTOffset.

(WTF::parseDateFromNullTerminatedCharacters):

  • call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
  • wtf/DateMath.h:

(WTF::LocalTimeOffset::LocalTimeOffset):
(LocalTimeOffset):
(WTF::LocalTimeOffset::operator==):

  • new struct type, a tuple of UTC-local offset & isDST flag.
  • replaced calculateUTCOffset/calculateDSTOffset with calculateLocalTimeOffset
  • wtf/GregorianDateTime.cpp:

(WTF::GregorianDateTime::setToCurrentLocalTime):

  • call calculateLocalTimeOffset instead of calculateUTCOffset/calculateDSTOffset
2:33 PM Changeset in webkit [150832] by Lucas Forschler
  • 3 edits in branches/safari-537.43-branch/Source/WebCore

Merged r150618. <rdar://problem/13984706>

2:18 PM Changeset in webkit [150831] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r150199 is very wrong
https://bugs.webkit.org/show_bug.cgi?id=116876

JSValue needs to protect its internal JSValueRef.

Reviewed by Darin Adler.

  • API/JSValue.mm:

(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):

  • API/tests/testapi.mm: Added a simple test to make sure that we protect the

underlying JavaScript value across garbage collections.

2:04 PM Changeset in webkit [150830] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Windows] Silence a few failures to get bot green.
https://bugs.webkit.org/show_bug.cgi?id=116564

  • platform/win/TestExpectations: Disable some tests.
1:55 PM Changeset in webkit [150829] by fpizlo@apple.com
  • 5 edits in branches/dfgFourthTier/LayoutTests

fourthTier: convert more fast/js/dfg-* tests to wait for the concurrent JIT

Rubber stamped by Oliver Hunt.

  • fast/js/dfg-arguments-alias-activation-expected.txt:
  • fast/js/dfg-arguments-alias-activation.html:
  • fast/js/dfg-arguments-alias-expected.txt:
  • fast/js/script-tests/dfg-arguments-alias.js:
1:50 PM Changeset in webkit [150828] by fpizlo@apple.com
  • 3 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support ArithMin/ArithMax
https://bugs.webkit.org/show_bug.cgi?id=116885

Reviewed by Oliver Hunt.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):

1:17 PM Changeset in webkit [150827] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in DumpRenderTree at com.apple.WebCore: WebCore::RenderTextTrackCue::repositionGenericCue + 154
https://bugs.webkit.org/show_bug.cgi?id=116882

Reviewed by Eric Carlson.

Remove an inappropriate assert. No cues coming through repositionGenericCue will be WebVTT ones.

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::repositionGenericCue):

1:05 PM Changeset in webkit [150826] by fpizlo@apple.com
  • 10 edits in branches/dfgFourthTier/LayoutTests

fourthTier: convert more fast/js/dfg-* tests to wait for the concurrent JIT

Rubber stamped by Oliver Hunt.

  • fast/js/dfg-abs-backwards-propagation-expected.txt:
  • fast/js/dfg-add-not-number-expected.txt:
  • fast/js/dfg-arguments-alias-escape-expected.txt:
  • fast/js/resources/js-test-pre.js:

(dfgCompiled):
(dfgIncrement):

  • fast/js/script-tests/dfg-abs-backwards-propagation.js:
  • fast/js/script-tests/dfg-add-not-number.js:
  • fast/js/script-tests/dfg-arguments-alias-escape.js:
  • fast/js/script-tests/dfg-arguments-alias-one-block-osr-exit.js:
  • fast/js/script-tests/dfg-arguments-alias-one-block-overwrite-arguments.js:
12:36 PM Changeset in webkit [150825] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/LayoutTests

fourthTier: fast/js should have a way of running tests long enough to wait for the concurrent JIT to tier up
https://bugs.webkit.org/show_bug.cgi?id=116878

Reviewed by Oliver Hunt.

This adds three things to js-test-pre and uses them in one representative test:

silentTestPass: If you set this to true, then testPassed() won't print anything, and will instead just have

isSuccessfullyParsed() print a message saying that some tests passed silently. This allows tests to call
shouldBe() and friends in a loop whose running time is dependent on concurrent JIT behavior, and still
be sure that the resulting test will be deterministic.


noInline(): If testRunner is present, disable inlining of the relevant function.

dfgIncrement({f:function, i:index, n:limit}): Returns index either if index < limit, or if the function is

DFG compiled. Otherwise, if index >= limit and the function isn't DFG compiled, return 0. This means
that the 'i++' in the fast/js/dfg-* warm-up loops can be replaced with:

i = dfgIncrement({f:<function you're interested in>, i:i + 1, n:<some number smaller than the loop condition>)

This has the effect of having the loop repeat the first 'n' iterations until the function is DFG
compiled. See the modified test, where we do n:100 and the loop condition is i < 200. So the loop will
repeat the first 100 iterations until the function is DFG compiled and will only do the last 100
iterations once DFG compilation kicks in.

  • fast/js/dfg-arguments-osr-exit-multiple-blocks-expected.txt:
  • fast/js/resources/js-test-pre.js:

(testPassed):
(dfgIncrement):
(noInline):
(isSuccessfullyParsed):

  • fast/js/script-tests/dfg-arguments-osr-exit-multiple-blocks.js:
12:04 PM Changeset in webkit [150824] by Lucas Forschler
  • 3 edits in branches/safari-537.43-branch/Source/WebCore

Merged r150731. <rdar://problem/13695911>

12:01 PM Changeset in webkit [150823] by Lucas Forschler
  • 35 edits in branches/safari-537.43-branch

Merged r150695. <rdar://problem/13743484>

11:55 AM Changeset in webkit [150822] by robert@webkit.org
  • 2 edits in trunk/LayoutTests

Fix line endings in test added in r150602

Unreviewed.

  • fast/css/text-overflow-ellipsis-behind-floats.html:
11:50 AM Changeset in webkit [150821] by Lucas Forschler
  • 2 edits in branches/safari-537.43-branch/Source/WebCore

Merged r150671. <rdar://problem/13886753>

11:46 AM Changeset in webkit [150820] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] GraphicsContext: add missing definitions.
https://bugs.webkit.org/show_bug.cgi?id=115515

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-28
Reviewed by Rob Buis.

  • platform/graphics/GraphicsContext.h:

(Graphics):
Add definition for PlatformGraphicsContext.

  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:

Include RoundedRect.h

11:45 AM Changeset in webkit [150819] by Lucas Forschler
  • 4 edits in branches/safari-537.43-branch/Source

Merged r150653. <rdar://problem/13747883>

11:43 AM Changeset in webkit [150818] by Lucas Forschler
  • 13 edits
    4 copies in branches/safari-537.43-branch/Source

Merged r150651. <rdar://problem/13885606>

11:40 AM Changeset in webkit [150817] by anilsson@rim.com
  • 14 edits in trunk/Source

[BlackBerry] Fix style issues in BlackBerry accelerated compositing backend
https://bugs.webkit.org/show_bug.cgi?id=116604

Reviewed by Carlos Garcia Campos.

Source/WebCore:

PR 273550, 99638

Remove the "get" prefix from getters in the WebKit- and compositing-
thread layer classes, as well as LayerRendererSurface. Clarify which
geometry-related getters return normalized device coordinates by adding
a comment.

Also remove dead code related to LayerData::m_holePunchClipRect, which
was part of an eventually disabled fix for video clipping in iframes,
PR 99638. Since we now use AC layers for iframes, the bug is no longer
reproducible, and the dead code will never need to be enabled again.

No change in behavior, no new tests.

  • platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:

(WebCore::EGLImageLayerCompositingThreadClient::drawTextures):

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::setDrawTransform):
(WebCore::LayerCompositingThread::transformedHolePunchRect):
(WebCore::LayerCompositingThread::drawTextures):
(WebCore::LayerCompositingThread::drawSurface):

  • platform/graphics/blackberry/LayerCompositingThread.h:

(WebCore::LayerCompositingThread::sublayers): Removed "get" prefix
(LayerCompositingThread):
(WebCore::LayerCompositingThread::boundingBox): Renamed from "getDrawRect"
(WebCore::LayerCompositingThread::transformedBounds): Removed "get" prefix
(WebCore::LayerCompositingThread::transformedHolePunchRect): Removed "get" prefix

  • platform/graphics/blackberry/LayerData.h:

(LayerData): Removed unused data member "m_holePunchClipRect"

  • platform/graphics/blackberry/LayerFilterRenderer.cpp:

(WebCore::LayerFilterRenderer::applyActions):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::compositeLayers):
(WebCore::LayerRenderer::drawDebugBorder):
(WebCore::LayerRenderer::drawHolePunchRect):
(WebCore::LayerRenderer::prepareFrameRecursive):
(WebCore::LayerRenderer::updateLayersRecursive):
(WebCore::collect3DPreservingLayers):
(WebCore::LayerRenderer::compositeLayersRecursive):

  • platform/graphics/blackberry/LayerRendererSurface.cpp:

(WebCore::LayerRendererSurface::boundingBox):

  • platform/graphics/blackberry/LayerRendererSurface.h:

(WebCore::LayerRendererSurface::boundingBox): Renamed from "drawRect" because that sounds like a verb, and this is a getter

  • platform/graphics/blackberry/LayerWebKitThread.h:

(WebCore::LayerWebKitThread::sublayers): Removed "get" prefix

  • platform/graphics/blackberry/VideoLayerWebKitThread.cpp:

(WebCore::VideoLayerWebKitThread::setHolePunchRect):
(WebCore::VideoLayerWebKitThread::boundsChanged):

Source/WebKit/blackberry:

Adapt to the removal of "get" prefix from getters in the WebKit- and
compositing-thread layer classes.

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivateCompositingThread::pixelViewportRect):

  • Api/WebPageCompositor.cpp:

(BlackBerry::WebKit::WebPageCompositorPrivate::attachOverlays):
(BlackBerry::WebKit::WebPageCompositorPrivate::removeOverlay):
(BlackBerry::WebKit::WebPageCompositorPrivate::findFixedElementRect):

11:33 AM Changeset in webkit [150816] by fpizlo@apple.com
  • 10 edits in branches/dfgFourthTier

testRunner should have a way of disabling inlining of functions
https://bugs.webkit.org/show_bug.cgi?id=116875

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • API/JSCTestRunnerUtils.cpp:

(JSC::getExecutable):
(JSC):
(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):

  • API/JSCTestRunnerUtils.h:

(JSC):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::mightInlineFunctionForCall):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::mightInlineFunctionForConstruct):

  • runtime/Executable.h:

(JSC::ScriptExecutable::ScriptExecutable):
(ScriptExecutable):
(JSC::ScriptExecutable::setNeverInline):
(JSC::ScriptExecutable::neverInline):
(JSC::ScriptExecutable::isInliningCandidate):

Tools:

  • DumpRenderTree/TestRunner.cpp:

(neverInlineFunction):
(TestRunner::staticFunctions):

LayoutTests:

  • fast/js/script-tests/dfg-min-max.js:
11:32 AM Changeset in webkit [150815] by Lucas Forschler
  • 2 edits in branches/safari-537.43-branch/Source/WebCore

Merged r150547. <rdar://problem/13946443>

11:31 AM Changeset in webkit [150814] by fpizlo@apple.com
  • 5 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support ArithMod
https://bugs.webkit.org/show_bug.cgi?id=116792

Reviewed by Oliver Hunt.

  • ftl/FTLAbbreviations.h:

(JSC::FTL::buildFRem):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(LowerDFGToLLVM):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleRem):

11:30 AM Changeset in webkit [150813] by Lucas Forschler
  • 3 edits in branches/safari-537.43-branch/Source/WebKit2

Merged r150532. <rdar://problem/13962816>

11:27 AM Changeset in webkit [150812] by Lucas Forschler
  • 3 edits
    6 copies in branches/safari-537.43-branch

Merged r150529. <rdar://problem/13946443>

11:18 AM Changeset in webkit [150811] by fpizlo@apple.com
  • 24 edits in branches/dfgFourthTier/Source

It should be possible to record heap operations (both FastMalloc and JSC GC)
https://bugs.webkit.org/show_bug.cgi?id=116848

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Record GC heap operations if ENABLE(ALLOCATION_LOGGING).

  • API/JSManagedValue.mm:
  • dfg/DFGOperations.cpp:
  • heap/Heap.cpp:

(JSC::Heap::collect):

  • heap/Heap.h:

(Heap):
(JSC::Heap::allocateWithNormalDestructor):
(JSC::Heap::allocateWithImmortalStructureDestructor):
(JSC::Heap::allocateWithoutDestructor):
(JSC::Heap::tryAllocateStorage):
(JSC::Heap::tryReallocateStorage):
(JSC):
(JSC::Heap::ascribeOwner):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::append):
(JSC::SlotVisitor::internalAppend):

  • heap/SlotVisitor.h:

(SlotVisitor):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendUnbarrieredPointer):
(JSC::SlotVisitor::appendUnbarrieredValue):
(JSC::SlotVisitor::appendUnbarrieredWeak):
(JSC::SlotVisitor::internalAppend):
(JSC):
(JSC::SlotVisitor::appendValues):

  • jit/JITWriteBarrier.h:

(JSC::SlotVisitor::append):

  • llint/LLIntCommon.h:
  • runtime/Butterfly.h:

(Butterfly):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::createOrGrowArrayRight):
(JSC):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/JSArray.cpp:

(JSC::createArrayButterflyInDictionaryIndexingMode):
(JSC::JSArray::unshiftCountSlowCase):

  • runtime/JSArray.h:

(JSC::createContiguousArrayButterfly):
(JSC::createArrayButterfly):
(JSC):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):

  • runtime/JSObject.cpp:

(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::growOutOfLineStorage):

  • runtime/JSObject.h:

(JSC::JSObject::JSObject):

  • runtime/Operations.h:
  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::create):

  • runtime/StructureInlines.h:

(JSC):

  • runtime/WriteBarrier.h:

(JSC):

Source/WTF:

Reviewed by Mark Hahnenberg.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/DataLog.cpp:

(WTF):
(WTF::initializeLogFileOnce):

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/Platform.h:
10:54 AM Changeset in webkit [150810] by jer.noble@apple.com
  • 12 edits in trunk

Made AudioNode an EventTarget
https://bugs.webkit.org/show_bug.cgi?id=116871

Source/WebCore:

Merge: https://chromium.googlesource.com/chromium/blink/+/ef37484162ddb95d677dcfdcdd778ec60590928b

Reviewed by Darin Adler.

Tests: webaudio/audionode-expected.txt:

webaudio/audionode.html:

Add the requisite boilerplate to allow AudioNode to become an EventTarget. Remove
all that same boilerplate from ScriptProcessorNode now that it's base class
is an EventTarget.

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::interfaceName): Added boilerplate.
(WebCore::AudioNode::scriptExecutionContext): Return the AudioContext's context.
(WebCore::AudioNode::processIfNecessary): Whitespace.

  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/AudioNode.idl: Make AudioNode an EventTarget.
  • Modules/webaudio/ScriptProcessorNode.cpp: Remove EventTarget boilerplate.
  • Modules/webaudio/ScriptProcessorNode.h: Ditto.
  • Modules/webaudio/ScriptProcessorNode.idl: Ditto.
  • dom/EventTarget.h: Mark AudioNode as an EventTarget.
  • dom/EventTargetFactory.in: Ditto.

LayoutTests:

Reviewed by Darin Adler.

  • webaudio/audionode-expected.txt:
  • webaudio/audionode.html:
10:28 AM Changeset in webkit [150809] by anilsson@rim.com
  • 9 edits in trunk/Source/WebCore

[BlackBerry] backface-visibility: hidden doesn't work properly with masks and filters
https://bugs.webkit.org/show_bug.cgi?id=116616

Reviewed by Carlos Garcia Campos.

The BlackBerry::Platform::Graphics::GraphicsContext generates geometry
with a different winding order than the accelerated compositing backend
of the BlackBerry port. So, when we switched from Skia to this new
rendering engine, we switched from glFrontFace(GL_CCW) to
glFrontFace(GL_CW), and all was well when drawing display lists.
However, we forgot to update the winding order of geometry generated
within the accelerated compositing backend, which is used for masks and
filters, so they were getting erroneously culled out when
backface-visibility: hidden was applied to them. Fixed by switching the
winding order of all geometry generated up here, which has the added
benefit of enabling us to use TransformationMatrix::mapQuad instead of
transforming point-by-point.

To further complicate matters, a right-side up transform is used when
drawing layers into surfaces, reversing the winding order and requiring
us to switch back to glFrontFace(GL_CCW) temporarily, when drawing
layers to surfaces, or the layers will get culled out inside the
surface.

Also fix spelling error, "drawed" should be "drawn".

No new tests, this is only detectable by pixel tests, which the
BlackBerry port currently doesn't support.

PR 341945.

  • platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp:

(WebCore::EGLImageLayerCompositingThreadClient::drawTextures):

  • platform/graphics/blackberry/LayerCompositingThread.cpp:

(WebCore::LayerCompositingThread::setDrawTransform):
(WebCore::getTransformedRect):
(WebCore::LayerCompositingThread::drawTextures):
(WebCore::LayerCompositingThread::drawSurface):

  • platform/graphics/blackberry/LayerCompositingThread.h:

(LayerCompositingThread):
(WebCore::LayerCompositingThread::origin):

  • platform/graphics/blackberry/LayerFilterRenderer.cpp:

(WebCore):

  • platform/graphics/blackberry/LayerRenderer.cpp:

(WebCore::LayerRenderer::compositeLayers):
(WebCore):
(WebCore::LayerRenderer::drawLayersOnSurfaces):

  • platform/graphics/blackberry/LayerRendererSurface.cpp:

(WebCore::LayerRendererSurface::drawRect):
(WebCore::LayerRendererSurface::transformedBounds):

  • platform/graphics/blackberry/LayerRendererSurface.h:

(WebCore::LayerRendererSurface::origin):
(LayerRendererSurface):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore):
(WebCore::loadBufferingImageData):
(WebCore::MediaPlayerPrivate::drawBufferingAnimation):

10:12 AM Changeset in webkit [150808] by lauro.neto@openbossa.org
  • 3 edits in trunk/Source/WebKit2

[GTK] Connection issues in repeated WebProcess crash/reloads.
https://bugs.webkit.org/show_bug.cgi?id=115880

Reviewed by Anders Carlsson.

When stressing the WebProcess creation/destruction, WebKitGTK can
often run into socket issues like bad file descriptor errors or
polling a socket indefinitely.

Currently WebKitGTK has three places where a socket can be
closed.

  • childFinishedFunction (in ProcessLauncherGtk.cpp)
  • Connection::platformInvalidate (in ConnectionUnix.cpp)
  • WorkQueue EventSource destruction (in WorkQueueGtk.cpp)

To avoid these race conditions, socket closing will be handled
by the event source callback in WorkQueueGtk.cpp.

  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::platformInvalidate): Do not close the socket
when the connection is invalidated, the socket event source is
unregistered in this method and the socket is closed when the
GSocket associated to the event source is destroyed.

  • UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

(WebKit::ProcessLauncher::launchProcess): Do not monitor child
process to close the connection on termination. This was needed in
the past when we used DGRAM sockets, we currently use always
connection oriented sockets, so that when the other end closes
the connection we are notified and the connection is invalidated.

10:08 AM Changeset in webkit [150807] by fpizlo@apple.com
  • 13 edits
    3 adds in branches/dfgFourthTier

testRunner should be able to tell you if a function is DFG compiled
https://bugs.webkit.org/show_bug.cgi?id=116847

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • API/JSCTestRunnerUtils.cpp: Added.

(JSC):
(JSC::numberOfDFGCompiles):

  • API/JSCTestRunnerUtils.h: Added.

(JSC):

(JSC::CodeBlock::numberOfDFGCompiles):
(JSC):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::runThread):

  • runtime/Executable.h:

(JSC):

  • runtime/JSFunctionInlines.h: Added.

(JSC):
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::jsExecutable):
(JSC::JSFunction::isHostFunction):
(JSC::JSFunction::nativeFunction):
(JSC::JSFunction::nativeConstructor):

  • runtime/Operations.h:

Source/WebCore:

Bail early if we're in the compilation thread. This is only relevant for
debug dumps.

No new tests becase no new behavior.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):

Tools:

  • DumpRenderTree/TestRunner.cpp:

(numberOfDFGCompiles):
(TestRunner::staticFunctions):

LayoutTests:

  • fast/js/script-tests/dfg-min-max.js:
9:03 AM Changeset in webkit [150806] by Martin Robinson
  • 4 edits in trunk

Fix GTK+ CMake build

Source/WebKit2:

  • PlatformGTK.cmake: After r150336, the name of the WebKit2

library target is simply "WebKit2."

Tools:

  • MiniBrowser/gtk/CMakeLists.txt: After r150336, the name of the WebKit2

library target is simply "WebKit2."

7:41 AM Changeset in webkit [150805] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move Node::dispatchChangeEvent() to HTMLFormControlElement.
<http://webkit.org/b/116866>

Reviewed by Anders Carlsson.

...and devirtualize it, since it had no overrides.

  • dom/Node.h:
  • dom/Node.cpp:
  • html/HTMLFormControlElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::dispatchChangeEvent):
(WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):

  • html/FileInputType.cpp:

(WebCore::FileInputType::setFiles):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):

7:37 AM Changeset in webkit [150804] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

Refactoring CSS grammar
https://bugs.webkit.org/show_bug.cgi?id=116679

Reviewed by Andreas Kling.

From Blink r149948 by <serya@chromium.org>

Added "closing_parenthesis:" and "error_recovery:" to avoid code
duplication in a couple of error recovery rules. Some other rules
were also refactored which allows to reduce the the number of
shift/reduce conflicts by 2.

No new tests required as this is just a refactoring, no new
functionality added.

  • css/CSSGrammar.y.in:
7:31 AM Changeset in webkit [150803] by sergio@webkit.org
  • 4 edits in trunk

Invalid block doesn't make declaration invalid
https://bugs.webkit.org/show_bug.cgi?id=115709

Reviewed by Andreas Kling.

From Blink r149446 by <serya@chromium.org>

Source/WebCore:

Added a new rule "declaration_recovery:" which covers any kind of
"invalid_block_list maybe_space" sequence. By appending this new
rule to every rule reductable to "declaration:" we can remove some
redundant rules and improve error recovery of some others that
were only accepting exactly one error.

One of the rules being removed was preventing invalid blocks in a
declaration to invalidate the whole declaration. The rule was
reporting the syntax error but at the same time accepting the
invalid block as part of a valid declaration.

  • css/CSSGrammar.y.in:

LayoutTests:

  • fast/css/parsing-error-recovery.html: Added 2 new test cases.
7:08 AM Changeset in webkit [150802] by marcelo.lira@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] DrawingArea's visible content area must be updated when contents size changes
https://bugs.webkit.org/show_bug.cgi?id=116845

Reviewed by Noam Rosenthal.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::didChangeContentsSize):

7:01 AM Changeset in webkit [150801] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

Move dispatching of focus-related events from Node to Element.
<http://webkit.org/b/116864>

Reviewed by Antti Koivisto.

...and pass around pointers to Element instead of Node.

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

(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):

Moved here from Node.

  • html/HTMLFormControlElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::dispatchBlurEvent):

  • html/HTMLSelectElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::dispatchFocusEvent):
(WebCore::HTMLSelectElement::dispatchBlurEvent):

  • html/HTMLTextFormControlElement.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
(WebCore::HTMLTextFormControlElement::dispatchBlurEvent):

Update subclass overrides and sprinkle OVERRIDE/FINAL.

6:34 AM Changeset in webkit [150800] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[webkitpy] Explicitly specify the reference file extensions
https://bugs.webkit.org/show_bug.cgi?id=116333

Reviewed by Benjamin Poulain.

Explicitly specify the extensions that are valid for the reference files. This helps to differentiate
between valid reference files required by reftests and text baselines that have the same extension as
potential test files (specifically the current MHTML tests in the .mht files and the future .mht baselines
that were until this change recognized as reference files).

Covered by existing tests and the new test_is_reference_html_file test in webkitpy.port.base_unittest.

  • Scripts/webkitpy/port/base.py:

(Port.reference_files): Iterate through the _supported_reference_extensions set.
(Port): Rename the _supported_file_extensions set to _supported_test_extensions. Add the
_supported_reference_extensions set, containing the extensions allowed for reference files.
(Port.is_reference_html_file): Return False if the file's extension is not a supported reference file extension.
(Port._has_supported_extension): Use _supported_test_extensions.

  • Scripts/webkitpy/port/base_unittest.py:

(PortTest.test_is_reference_html_file): Add the unit test, testing various test cases around the
Port.is_reference_html_file method.

6:22 AM Changeset in webkit [150799] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Remove CachedResourceRequest::initiatorElement
https://bugs.webkit.org/show_bug.cgi?id=116862

Reviewed by Andreas Kling.

The CachedResourceRequest::initiatorElement method is not used anywhere and should be removed.

  • loader/cache/CachedResourceRequest.cpp: Remove the initiatorElement method definition.
  • loader/cache/CachedResourceRequest.h:

(CachedResourceRequest): Remove the initiatorElement method declaration.

6:07 AM Changeset in webkit [150798] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] REGRESSION(r149292): broke scrolling in Qt WK2 desktop mode
https://bugs.webkit.org/show_bug.cgi?id=116597

ScrollingCoordinatorCoordinatedGraphics is tailored specifically for
fixedLayout mode. When fixedLayout is not set, it should be turned off.

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-05-28
Reviewed by Allan Sandfeld Jensen.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):

6:01 AM Changeset in webkit [150797] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Unskip now passing tests.

  • platform/qt/TestExpectations:
5:54 AM QtWebKitGardening edited by Csaba Osztrogonác
Add a hint for x86 users (diff)
5:46 AM Changeset in webkit [150796] by akling@apple.com
  • 55 edits in trunk/Source

Document::setFocusedNode() should be setFocusedElement().
<http://webkit.org/b/116857>

Reviewed by Antti Koivisto.

Source/WebCore:

Only Elements can be focused, so tighten Document's idea of what's focused.

Most of this patch is just updating call sites for the new names and removing
now-unnecessary isElementNode() checks and casts.

  • WebCore.exp.in:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::focusedUIElementForPage):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetFocusAttribute):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isFocused):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):

  • bindings/objc/DOM.mm:

(-[DOMElement isFocused]):

  • dom/Document.cpp:

(WebCore::Document::dispose):
(WebCore::Document::detach):
(WebCore::Document::focusedNodeRemoved):
(WebCore::Document::removeFocusedNodeOfSubtree):
(WebCore::Document::setFocusedElement):
(WebCore::Document::updateFocusAppearanceTimerFired):
(WebCore::eventTargetNodeForDocument):

  • dom/Document.h:

(Document):
(WebCore::Document::focusedElement):

  • dom/Element.cpp:

(WebCore::Element::attach):
(WebCore::Element::focus):
(WebCore::Element::blur):
(WebCore::Element::cancelFocusAppearanceUpdate):

  • dom/Node.cpp:

(WebCore::Node::rendererIsEditable):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::focusedElement):

  • dom/UserTypingGestureIndicator.cpp:

(WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):

  • editing/Editor.cpp:

(WebCore::Editor::setBaseWritingDirection):
(WebCore::Editor::setComposition):
(WebCore::Editor::guessesForMisspelledOrUngrammatical):

  • editing/EditorCommand.cpp:

(WebCore::verticalScrollDistance):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::setFocusedElementIfNeeded):
(WebCore::FrameSelection::currentForm):

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::attach):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::setValueCommon):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
(WebCore::HTMLTextFormControlElement::selectionStart):
(WebCore::HTMLTextFormControlElement::selectionEnd):
(WebCore::HTMLTextFormControlElement::selectionDirection):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::isKeyboardFocusable):

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::focusedFieldIndex):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus):

  • page/EventHandler.cpp:

(WebCore::EventHandler::scrollOverflow):
(WebCore::EventHandler::logicalScrollOverflow):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::capsLockStateMayHaveChanged):

  • page/FocusController.cpp:

(WebCore::dispatchEventsOnWindowAndFocusedNode):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::setFocusedElement):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor):

  • plugins/PluginView.cpp:

(WebCore::PluginView::focusPluginElement):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::setFocus):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::platformStart):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintAreaElementFocusRing):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
(WebCore::RenderTextControlSingleLine::textShouldBeTruncated):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isFocused):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::focusNodeRect):
(BlackBerry::WebKit::WebPagePrivate::contextNode):
(BlackBerry::WebKit::WebPagePrivate::clearFocusNode):
(BlackBerry::WebKit::WebPage::setNodeFocus):

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
(WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::focusedNodeChanged):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::setCaretPosition):
(BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
(BlackBerry::WebKit::SelectionHandler::clipPointToVisibleContainer):
(BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_focused_element_geometry_get):

  • ewk/ewk_view.cpp:

(ewk_view_input_method_state_set):

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp:

(getFocusedNode):

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView clearFocus]):
(-[WebHTMLView becomeFirstResponder]):

Source/WebKit/qt:

  • Api/qwebelement.cpp:

(QWebElement::hasFocus):
(QWebElement::setFocus):

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::setInputMethodState):

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::mousePressEvent):
(QWebPageAdapter::handleSoftwareInputPanel):
(QWebPageAdapter::inputMethodQuery):
(QWebPageAdapter::hasFocusedNode):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::isFocused):

  • WebView.cpp:

(WebView::setInitialFocus):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::focusPluginElement):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::focusedPluginViewForFrame):
(WebKit::WebPage::setInitialFocus):

3:43 AM Changeset in webkit [150795] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit/blackberry

Unreviewed. Fix BlackBerry debug build after r150756.

  • WebKitSupport/PagePopup.cpp:

(BlackBerry::WebKit::PagePopup::writeDocument): Fix typo in
assert.

3:22 AM Changeset in webkit [150794] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

Unskip now passing tests.

  • platform/qt-arm/TestExpectations:
2:37 AM Changeset in webkit [150793] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests after parallel gc is enabled.

  • platform/qt/TestExpectations:
2:29 AM Changeset in webkit [150792] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Clean up duplicated include files.
https://bugs.webkit.org/show_bug.cgi?id=116851

Reviewed by Christophe Dumez.

Remove some of duplicated include file in ewk files.

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_color_picker.cpp:
  • UIProcess/API/efl/ewk_context_menu.cpp:
  • UIProcess/API/efl/ewk_security_origin_private.h:
12:21 AM Changeset in webkit [150791] by sergio@webkit.org
  • 6 edits in trunk

Web Inspector: Enable CSS logging
https://bugs.webkit.org/show_bug.cgi?id=113401

Reviewed by Benjamin Poulain.

From Blink r149265 by <serya@chromium.org>

Source/WebCore:

CSS logging was disabled in r147028 to prevent message overflow in
the inspector console. This change restores it by modifying the
CSS grammar in order to reduce as much consecutive errors as
possible in 'declaration_list' and 'decl_list' rules.

This way, for rules like 'x { color: ### }' only the first '#'
will be reported as error (instead of 3 identical errors).

The rule 'declaration' still produces multiple errors, because it
does not eat as much errors as possible. So in order not to create
a complex risky patch we just disable logging in the parser for
that rule.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::syntaxError):
(WebCore::CSSParser::isLoggingErrors):
(WebCore::CSSParser::rewriteSpecifiers):

  • css/CSSParser.h:

(CSSParser):

LayoutTests:

Unskipped console-css-warnings.html now that it's working.

12:18 AM Changeset in webkit [150790] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source

[EFL] pc files should have harfbuzz dependency.
https://bugs.webkit.org/show_bug.cgi?id=116852

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

  • ewebkit.pc.in: Added harfbuzz as Required package.

Source/WebKit2:

  • efl/ewebkit2.pc.in: Added harfbuzz as Required package.
12:02 AM Changeset in webkit [150789] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for WinCE after r150730.

  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

May 27, 2013:

11:57 PM Changeset in webkit [150788] by Patrick Gansterer
  • 3 edits in trunk/Source/WebCore

Build fix for WinCE after r150772.

  • platform/win/ClipboardWin.cpp:

(WebCore):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::readFilenames):
(WebCore):

11:48 PM Changeset in webkit [150787] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unneeded WebCore namespace use in ewk
https://bugs.webkit.org/show_bug.cgi?id=116707

Reviewed by Christophe Dumez.

  • UIProcess/API/efl/ewk_security_origin.cpp: Remove "using namespace WebCore".
  • UIProcess/API/efl/ewk_text_checker.cpp: ditto.
11:31 PM Changeset in webkit [150786] by Patrick Gansterer
  • 2 edits in trunk/Source/WTF

Use correct stack size on Solaris and OpenBSD
https://bugs.webkit.org/show_bug.cgi?id=114978

Recommit after wrong rollout in r150621.

  • wtf/StackBounds.cpp:

(WTF):
(WTF::StackBounds::initialize):

5:02 PM Changeset in webkit [150785] by jonlee@apple.com
  • 14 edits
    1 add
    1 delete in trunk

[WK2] Notifications clobber each other with multiple processes
https://bugs.webkit.org/show_bug.cgi?id=116428
<rdar://problem/13935191>

Reviewed by Darin Adler.

.:

  • ManualTests/notification-in-multiple-windows.html: Added.

Source/WebKit2:

With multiple processes, the notification IDs, when passed up to the UI process, can clobber
each other. To fix this, we need to maintain a global map of notification IDs. This map is
keyed by its own unique notification ID, and maps to a pair containing the web page ID and that
web page's ID for the notification.

Now that we maintain groups of notifications based on the web page, we no longer send IPC messages
from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the
WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver.

When a page closes, all of the web notifications are cleared out. However, by the time the
WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since
the WebPage is told to close from the UI process anyway, we clear out the notifications separately,
instead of waiting for a message from the WebPage.

  • UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the

notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message
handlers as public functions, since they will be called from WebPageProxy. Add a new map that
associates a global ID with a notification ID that came from a web page.

There are now two flavors of clearNotifications(). One clears out all notifications associated

with a web page. This is called when the page is closed. The other clears out a subset of
notifications associated with a web page. This is called when notifications associated with a sub-frame
is closed.

  • UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from

the web process go to WebPageProxy now.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the

notification's web page.

(WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification
ID generator.
(WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a
message receiver. Remove code that registers it as such.

(WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID
that came from the web process, and the global notification ID the proxy maintains. Add the mapping
from the global ID to the (web page ID, notification ID) pair.
(WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page.
(WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration
the web page. Fixes a leak where we did not remove the item from the maps. This function is called
from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps
before we pass the message along to the provider.

Helper functions that evaluate when a given notification in the map matches the desired parameters.
(WebKit::pageIDsMatch): The notification is associated with the provided page.
(WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is
contained within the list of provided notifications.

(WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications
associated with the provided web page, and could include a specific list of notifications. This latter
situation occurs if notifications were associated with an iframe, and that iframe was removed.
There is an O(n) walk that could be make more efficient using another hash map, but that's overhead
for a map that should be small in size anyway.

(WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into
consideration the web page.
(WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into
consideration the web page.
(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through
the list of global IDs and put them in buckets based on the notification's web pages. After that
is done we can send the DidCloseNotifications() to those pages' processes. There is a possible
extra optimization here where we group based on the page's process instead, to reduce the number
of messages sent to processes.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated
with the page.
(WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy.
(WebKit::WebPageProxy::clearNotifications): Ditto.
(WebKit::WebPageProxy::didDestroyNotification): Ditto.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include.
  • CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files.
  • DerivedSources.pri: Ditto.
  • DerivedSources.make: Ditto.
  • GNUmakefile.list.am: Ditto.
  • WebKit2.xcodeproj/project.pbxproj: Ditto.
4:55 PM Changeset in webkit [150784] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix typo that broke the build.

4:53 PM Changeset in webkit [150783] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Move hasNonEmptyBoundingBox from Node to HTMLAnchorElement
https://bugs.webkit.org/show_bug.cgi?id=116842

Reviewed by Antti Koivisto.

  • dom/Node.cpp: Removed hasNonEmptyBoundingBox.
  • dom/Node.h: Ditto.
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::isMouseFocusable): Fixed #if to be more readable and
added more-explicit clearer comments. No behavior change.
(WebCore::hasNonEmptyBox): Added. Has the same code that was in
Node::hasNonEmptyBoundingBox with some additional comments.
(WebCore::HTMLAnchorElement::isKeyboardFocusable): Call hasNonEmptyBox.

4:40 PM Changeset in webkit [150782] by Darin Adler
  • 11 edits in trunk/Source/WebCore

Move isBlockFlowElement and related functions out of the Node class into editing code
https://bugs.webkit.org/show_bug.cgi?id=116846

Reviewed by Antti Koivisto.

  • dom/Node.cpp: Removed isBlockFlowElement, enclosingBlockFlowElement, and

inSameContainingBlockFlowElement. These are all editing functions that don't
belong in the Node class, and mostly-deprecated ones to boot.

  • dom/Node.h: Ditto.
  • dom/Position.cpp:

(WebCore::inSameEnclosingBlockFlowElement): Added. This editing-specific function
is used only here, so put it here.
(WebCore::Position::rendersInDifferentPosition): Updated to call new function above.
(WebCore::Position::leadingWhitespacePosition): Ditto.

  • editing/InsertLineBreakCommand.cpp:

(WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use
deprecatedEnclosingBlockFlowElement at its new location.
(WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApplyForSingleParagraph): use
isBlockFlowElement at its new location.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::enclosingInline): Ditto.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::canonicalPosition): Use deprecatedEnclosingBlockFlowElement
at its new location.
(WebCore::enclosingBlockFlowElement): Ditto. Also added FIXME.

  • editing/VisibleSelection.cpp:

(WebCore::makeSearchRange): Ditto.

  • editing/htmlediting.cpp:

(WebCore::isBlockFlowElement): Added. Same as the Node::isBlockFlowElement
function, but here because this is an editing function, not suitable as a Node member.
(WebCore::deprecatedEnclosingBlockFlowElement): Ditto. Added "deprecated" to the name
since the Node member function had a comment saying it was deprecated. Also changed so
it tolerates a 0 for an argument, which made it easier for one caller.

  • editing/htmlediting.h: Added the two new functions.
3:31 PM Changeset in webkit [150781] by benjamin@webkit.org
  • 1 edit
    3 adds in trunk/PerformanceTests

Add a balanced benchmark for QuerySelector
https://bugs.webkit.org/show_bug.cgi?id=116811

Reviewed by Sam Weinig.

The goal of this benchmark is to have an overview of querySelector as typically used
by webpages.

It uses queries similar to what is used by popular websites and applies somewhat
similar weighting for each type of query.

The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
a not purely the overhead of traversal.

  • CSS/QuerySelector.html: Added.
  • CSS/resources/query-selector.html: Added.
3:09 PM Changeset in webkit [150780] by fpizlo@apple.com
  • 4 edits
    9 adds in branches/dfgFourthTier

fourthTier: DFG ArithMod should have the !nodeUsedAsNumber optimizations that ArithDiv has
https://bugs.webkit.org/show_bug.cgi?id=116841

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMod):

LayoutTests:

  • fast/js/dfg-mod-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-mod-by-neg1-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-mod-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-mod-by-zero-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-mod-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-mod-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-mod-by-neg1-and-then-or-zero-interesting-reg-alloc.js: Added.

(foo):

  • fast/js/script-tests/dfg-mod-by-zero-and-then-or-zero-interesting-reg-alloc.js: Added.

(foo):

  • fast/js/script-tests/dfg-mod-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js: Added.

(foo):

2:59 PM Changeset in webkit [150779] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Clear supression flag when caret changes aren't propogated through
https://bugs.webkit.org/show_bug.cgi?id=116840

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-27
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR339965
We set and clear the flag upon every use. This leaves us vulnerable if

  1. midway through processing the selection change event is dismissed and
  2. we don't receive a TouchRelease event

One example of this is while dragging the FCC handle we start typing. To
safeguard against this, if the process change guard is set during a
selection change event, we send out to clear the flag status before returning.

  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::selectionChanged):

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

Add guard around paintForFixedRootBackground
https://bugs.webkit.org/show_bug.cgi?id=116754

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-27
Reviewed by Simon Fraser.

paintForFixedRootBackground is only used when ACCELERATED_COMPOSITING is enabled.

No new tests, no behavior change.

  • rendering/RenderLayer.cpp:

(WebCore):

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

Remove a leftover Pagepoup from PickerIndicatorElement.h
https://bugs.webkit.org/show_bug.cgi?id=116801

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-27
Reviewed by Anders Carlsson.

No new tests, no behavior change.

  • html/shadow/PickerIndicatorElement.h:

(WebCore):

1:58 PM Changeset in webkit [150776] by Claudio Saavedra
  • 5 edits in trunk

[CSS] -webkit-var prefix is case-sensitive
https://bugs.webkit.org/show_bug.cgi?id=116829

Reviewed by Darin Adler.

Source/WebCore:

Tests: Added case to fast/css/variables/case-sensitive.html

  • css/CSSParser.cpp:

(WebCore::isEqualToCSSCaseSensitiveIdentifier): Add variant to
IsEqualToCSSIdentifier that respects case-sensitivity.
(WebCore::CSSParser::realLex): Use the above method for CSS
variable declarations.

LayoutTests:

  • fast/css/variables/case-sensitive.html: Add a

check for case-sensitiveness of the prefix of
variable declarations.

  • fast/css/variables/case-sensitive-expected.html: Update.
1:39 PM WebKitGTK/2.0.x edited by zandobersek@gmail.com
(diff)
1:07 PM Changeset in webkit [150775] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

drop-shadow filter with overflow:hidden child misbehaves.
https://bugs.webkit.org/show_bug.cgi?id=109783

Patch by Zalan Bujtas <Alan Bujtas> on 2013-05-27
Reviewed by Simon Fraser.

Applying CSS filters only to the scrollbar rect leaves rendering
artefacts. Filters should skip such partial repaints.

Tests: Test framework uses mock theme for scrollbars. Such scrollbars do not
initiate partial repaints.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintLayerContents):

  • rendering/RenderLayer.h:

(RenderLayer):

1:04 PM Changeset in webkit [150774] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix take 2.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:
12:58 PM Changeset in webkit [150773] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:
12:51 PM Changeset in webkit [150772] by commit-queue@webkit.org
  • 9 edits
    1 delete in trunk/Source

Move Windows port off legacy clipboard.
https://bugs.webkit.org/show_bug.cgi?id=116258

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-05-27
Reviewed by Darin Adler.

Source/WebCore:

Clipboard refactor, no new tests.

  • dom/Clipboard.h:
  • page/win/EventHandlerWin.cpp:

(WebCore::EventHandler::createDraggingClipboard): Create Clipboard instead of ClipboardWin.

  • platform/Pasteboard.h:

(WebCore::Pasteboard::dataObject): Get IDataObject by Clipborad.
(WebCore::Pasteboard::writableDataObject): Get WCDataObject by Clipborad.

  • platform/win/ClipboardWin.cpp:

(WebCore::Clipboard::createDragImage): Change parameter name loc to dragLocation.
(WebCore::Clipboard::declareAndWriteDragImage): Implement declareAndWriteDragImage use WCDataObject exposed by Pasteboard.

  • platform/win/ClipboardWin.h: Removed.
  • platform/win/EditorWin.cpp:

(WebCore::Editor::newGeneralClipboard): Create Clipboard instead of ClipboardWin.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard.
(WebCore::Pasteboard::createPrivate): Ditto.
(WebCore::Pasteboard::createForDragAndDrop): Ditto.
(WebCore::Pasteboard::finishCreatingPasteboard): Create Pasteboard use Windows API.
(WebCore::Pasteboard::Pasteboard):
(WebCore::clipboardTypeFromMIMEType): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::addMimeTypesForFormat): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
(WebCore::writeURL): Ditto.
(WebCore::Pasteboard::writeString): Ditto.
(WebCore::Pasteboard::setDragImage): Ditto.
(WebCore::Pasteboard::writeRangeToDataObject): Write range to WCDataObject.
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writePlainTextToDataObject): Write PlainText to WCDataObject.
(WebCore::Pasteboard::writePlainText):
(WebCore::pathRemoveBadFSCharacters): Copied from ClipboardWin.cpp.
(WebCore::filesystemPathFromUrlOrTitle): Ditto.
(WebCore::writeFileToDataObject): Ditto.
(WebCore::Pasteboard::writeURLToDataObject): Write URL to WCDataObject.
(WebCore::Pasteboard::writeURL): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::writePasteboard): Copied from Pasteboard::writeClipboard.
(WebCore::Pasteboard::documentFragment): Copied from ClipboardWin.cpp.
(WebCore::Pasteboard::setExternalDataObject): Clipboard can set new IDataObject.
(WebCore::getCachedImage): Copied from ClipboardWin.cpp.
(WebCore::createGlobalImageFileDescriptor): Ditto.
(WebCore::createGlobalImageFileContent): Ditto.
(WebCore::createGlobalHDropContent): Ditto.
(WebCore::Pasteboard::writeImageToDataObject): Expose to make Clipboard implement declareAndWriteDragImage.
(WebCore::Pasteboard::writeURLToWritableDataObject): Ditto.

Source/WebKit/win:

  • WebCoreSupport/WebDragClient.cpp:

(WebDragClient::willPerformDragSourceAction): Get IDataObject from Pasteboard instead of Clipboard.
(WebDragClient::startDrag): Ditto.

12:50 PM Changeset in webkit [150771] by timothy_horton@apple.com
  • 13 edits in trunk/Source

PDFPlugin: Main-frame PDFPlugin Accessibility
https://bugs.webkit.org/show_bug.cgi?id=116563
<rdar://problem/13458534>

Reviewed by Sam Weinig.

  • WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:

Forward-declare a variety of accessibility methods.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and
storage for our accessibility wrapper.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

Add WKPDFPluginAccessibilityObject.

(-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]):
We want to be included in the accessibility tree.

(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
Grab values for accessibility attributes from the relevant sources
(mostly from PDFLayerController).

(-[WKPDFPluginAccessibilityObject readingModel]): Ditto.
(-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
(-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
Return the set of accessibility attributes, actions, and parameterized
attributes that we support.

(-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]):
(-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]):
Forward some other accessibility methods to PDFLayerController.

(-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
(-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
We have no children, so if a hit test makes it to us, it's ours.

(WebKit::PDFPlugin::PDFPlugin):
Make a WKPDFPluginAccessibilityObject and hook it up.
[FIXME: this could use some de-crapifying]

(WebKit::PDFPlugin::convertFromPluginToPDFView):
Transform a point from plugin space to PDFLayerController space.

(WebKit::PDFPlugin::convertFromPDFViewToRootView):
(WebKit::PDFPlugin::convertFromPDFViewToScreen): Added.
(WebKit::PDFPlugin::boundsOnScreen):
Return the PDFPlugin's frame in screen coordinates.

(WebKit::PDFPlugin::accessibilityObject):
Return our accessibility wrapper.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h:
  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::accessibilityObject):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::accessibilityObject):

  • WebProcess/Plugins/PluginView.h:

Add accessibilityObject(), to acquire accessibility wrappers from plugins.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Add accessibilityObjectForMainFramePlugin();

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

(-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]):
If the main frame has a PluginDocument that has an accessibilityObject,
use that one instead of the WebPage's.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::accessibilityObjectForMainFramePlugin):
Return the accessibilityObject from the main-frame PluginDocument, if
there is one.

  • WebCore.exp.in: Export AffineTransform::mapRect.
12:27 PM Changeset in webkit [150770] by commit-queue@webkit.org
  • 6 edits in trunk

[BlackBerry] Find-on-page should be able to convert the active match to selection when clearing all matches
https://bugs.webkit.org/show_bug.cgi?id=116837

Patch by Andy Chen <andchen@blackberry.com> on 2013-05-27
Reviewed by Rob Buis.

PR 291903
Internally reviewed by Mike Fenton.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::findNextString):

  • Api/WebPage.h:
  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::findNextString):
(BlackBerry::WebKit::InPageSearchManager::clearTextMatches):

  • WebKitSupport/InPageSearchManager.h:

(InPageSearchManager):

11:39 AM Changeset in webkit [150769] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Checkbox UX update.
https://bugs.webkit.org/show_bug.cgi?id=116838.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-27
Reviewed by Rob Buis.

BlackBerry PR 342302.
Internally Reviewed by Jeff Rogers.
Remove old background and change pressed checkmark image.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::paintCheckbox):

11:25 AM Changeset in webkit [150768] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

When the background is completely transparent we should be conservative and use the default scrollbar style, not the light one
https://bugs.webkit.org/show_bug.cgi?id=116836
<rdar://problem/13949905>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::recalculateScrollbarOverlayStyle):
Don't use the light style when the background is completely transparent.

11:09 AM Changeset in webkit [150767] by Patrick Gansterer
  • 10 edits in trunk

Use ICU_INCLUDE_DIRS in BlackBerry CMake files
https://bugs.webkit.org/show_bug.cgi?id=116210

Reviewed by Rob Buis.

Set and use the ICU_INCLUDE_DIRS variable to avoid
duplicated adding of the ICU include directory.

.:

  • Source/cmake/OptionsBlackBerry.cmake:

Source/JavaScriptCore:

  • PlatformBlackBerry.cmake:

Source/WebCore:

  • PlatformBlackBerry.cmake:

Source/WebKit:

  • PlatformBlackBerry.cmake:

Source/WTF:

  • wtf/PlatformBlackBerry.cmake:
11:04 AM Changeset in webkit [150766] by efidler@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix subframe target added to new requests
https://bugs.webkit.org/show_bug.cgi?id=116602

Reviewed by Rob Buis.

In some cases we might be adding TargetIsMainFrame to a subframe
request causing an isMainFrame assert.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
Check we are actually loading the main frame before setting
ResourceRequest::TargetIsMainFrame target.

10:39 AM Changeset in webkit [150765] by fpizlo@apple.com
  • 10 edits in branches/dfgFourthTier

fourthTier: clean up ArithDiv/ArithMod in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116793

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

This makes ArithDiv and ArithMod behave similarly, and moves both of their
implementations entirely into DFGSpeculativeJIT.cpp into methods named like
the ones for ArithSub/ArithMul.

Specifically, ArithMod now uses the wrap-in-conversion-nodes idiom that
ArithDiv used for platforms that don't support integer division. Previously
ArithMod had its own int-to-double and double-to-int conversions for this
purpose.

As well, this gets rid of confusing methods like compileSoftModulo() (which
did no such thing, there wasn't anything "soft" about it) and
compileIntegerArithDivForX86() (which is accurately named but we don't use
the platform-specific method convention anywhere else).

Finally, this takes the optimized power-of-two modulo operation that was
previously only for ARMv7s, and makes it available for all platforms. Well,
sort of: I actually rewrote it to do what latest LLVM appears to do, which
is a crazy straight-line power-of-2 modulo based on a combination of shifts,
ands, additions, and subtractions. I can kind of understand it well enough
to see that it complies with both C and JS power-of-2 modulo semantics. I've
also confirmed that it does by testing (hence the corresponding improvements
to one of the division tests). But, I don't claim to know exactly how this
code works other than to observe that it is super leet.

Overall, this patch has the effect of killing some code (no more hackish
int-to-double conversions in ArithMod), making some optimization work on
more platforms, and making the compiler less confusing by doing more things
with the same idiom.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(DFG):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/script-tests/integer-division-neg2tothe32-by-neg1.js:

(myModBy2):
(myModBy1073741824):

9:52 AM Changeset in webkit [150764] by marcelo.lira@openbossa.org
  • 3 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize()
https://bugs.webkit.org/show_bug.cgi?id=116688

Reviewed by Noam Rosenthal.

Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect()
must be calculated including the page scale factor and avoid crossing the
boundaries of the page contents size. In other words the DrawingArea
must know the actual dimensions of what it being drawn. If the
DrawingArea thinks the visible rectangle is bigger than it is, the
contents will be drawn pixelated and blurry.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::didChangeContentsSize):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::visibleContentsSize):
(WebKit):

  • UIProcess/CoordinatedGraphics/WebView.h:

(WebKit::WebView::contentsSize):
(WebView):

9:10 AM Changeset in webkit [150763] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] WebKitWebView child widgets are not rendered with recent GTK+
https://bugs.webkit.org/show_bug.cgi?id=116794

Reviewed by Xan Lopez.

Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose
events are not propagated to child GdkWindows anymore, and child
widgets are rendered via gtk_container_propagate_draw(). Since all
our children have its own GdkWindow (auth widget, inspector view
and windowed plugins) we don't propagate the draw signal making
them invisible with current GTK+.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDraw): Chain up to the parent draw(), so it's
propagated to the children. This shouldn't have any effect in
previous versions of GTK+ because gtk_container_propagate_draw()
returned early when the child widget had its own GdkWindow.

9:01 AM Changeset in webkit [150762] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Tighten FontGlyphs::glyphDataAndPageForCharacter to take FontDescription
https://bugs.webkit.org/show_bug.cgi?id=116823

Reviewed by Andreas Kling.

FontGlyphs does not need to know about Font anymore.

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::operator=):

  • platform/graphics/Font.h:

(WebCore::Font::isPlatformFont):
(WebCore::Font::glyphDataAndPageForCharacter):
(Font):

  • platform/graphics/FontCache.h:
  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

  • platform/graphics/FontFallbackList.h:

(WebCore):
(WebCore::FontGlyphs::createForPlatformFont):

Tweaked the name.

(WebCore::FontGlyphs::isForPlatformFont):

Move knowledge about platform font to FontGlyphs as it is needed for resolving system fallback on Mac.

  • platform/graphics/blackberry/FontCacheBlackBerry.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/qt/FontCacheQt.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

More descriptive name and tighter interface.

8:52 AM Changeset in webkit [150761] by mihnea@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSSRegions] Prevent unnecessary copy of LayoutRect objects
https://bugs.webkit.org/show_bug.cgi?id=116828

Reviewed by Andreas Kling.

Use const references for parameter passing.
No functional change, no new tests.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):

  • rendering/RenderFlowThread.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::overflowRectForFlowThreadPortion):

  • rendering/RenderRegion.h:
8:51 AM Changeset in webkit [150760] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] REGRESSION(r150071): Animation performance issues in some websites with CSS transforms
https://bugs.webkit.org/show_bug.cgi?id=116724

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

Add another bool variable m_previousFrameDone to make sure we
don't start a new frame until the previous one has been done. Also
make sure we pass the animation start time to
serviceScriptedAnimations().

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Initialize
m_previousFrameDone and m_monotonicAnimationStartTime.
(BlackBerry::WebKit::WebPagePrivate::animationFrameChanged):
Return early if previous frame is not done. Otherwise set
m_previousFrameDone to false and save the animation start time.
(BlackBerry::WebKit::WebPagePrivate::serviceAnimations): Call
serviceScriptedAnimations() passing the saved animation start time
and reset m_animationScheduled and m_previousFrameDone.
(BlackBerry::WebKit::WebPagePrivate::handleServiceScriptedAnimationsOnMainThread):
Call WebPagePrivate::serviceAnimations().

  • Api/WebPage_p.h:

(WebPagePrivate):

8:45 AM Changeset in webkit [150759] by leoyang@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Reveal HTTP error code for XHR even if there is no response body
https://bugs.webkit.org/show_bug.cgi?id=116543

Reviewed by Rob Buis.
Reviewed internally by Joe Mason.

It's a regression introduced by r132556.
BlackBerry is doing friendly HTTP error handling: if there is no response body
for an HTTP error it will display an error message made by the port. But for a
XHR request, which usually does not result in displaying error messages to the
end user, HTTP error code should be revealed to let the JavaScript know what
the actual server error code is.

Covered by existing tests:
ManualTests/blackberry/head-xhr-nonexistant-file.html
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::shouldNotifyClientFailed):

8:43 AM Changeset in webkit [150758] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Reset all clients on WebPage close
https://bugs.webkit.org/show_bug.cgi?id=112334

Patch by Xan Lopez <xlopez@igalia.com> on 2013-05-27
Reviewed by Anders Carlsson.

We do not reset the clients on WebPage::close(), so there's a
small chance that someone will try to access them after that. This
won't work and will generally cause runtime warnings, crashes or
other issues. Reset them all to null to prevent this situation.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close):

8:37 AM Changeset in webkit [150757] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove encoding parameter from FrameLoaderClientBlackBerry::receivedData()
https://bugs.webkit.org/show_bug.cgi?id=116598

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

It's no longer needed since the encoder now checks the override encoding.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::committedLoad): Call
receivedData() passing the DocumentLoader instead of the text
encoding.
(WebCore::FrameLoaderClientBlackBerry::receivedData): Call
DocumentLoader::commitData() directly.

  • WebCoreSupport/FrameLoaderClientBlackBerry.h:

(FrameLoaderClientBlackBerry):

8:35 AM Changeset in webkit [150756] by commit-queue@webkit.org
  • 6 edits
    10 moves in trunk/Source/WebKit

[BlackBerry] Move PagePopup implementation to WebKitSupport
https://bugs.webkit.org/show_bug.cgi?id=116824

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-05-27
Reviewed by Rob Buis.

Source/WebKit:

  • PlatformBlackBerry.cmake: Update new file paths and names.

Source/WebKit/blackberry:

After r150434 PagePopup implementation in BlackBerry port is
independent from WebCore. The classes are now in the
BlackBerry::WebKit namespace so they can be moved from
WebCoresupport to WebKitSupport and renamed to remove the
BlackBerry suffix which is now redundant. Also, now that the
implementation is not shared, it can be simplified a bit more.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Update to
API changes.
(BlackBerry::WebKit::WebPage::initPopupWebView): Ditto.
(BlackBerry::WebKit::WebPagePrivate::openPagePopup): Ditto.
(BlackBerry::WebKit::WebPagePrivate::closePagePopup): Ditto.
(BlackBerry::WebKit::WebPagePrivate::hasOpenedPopup): Ditto.

  • Api/WebPage.h:

(WebKit): Ditto.

  • Api/WebPage_p.h:

(WebKit): Ditto.
(WebPagePrivate): Rename m_selectPopup as m_pagePopup, since it
can also point to a color picker or date picker page popup. Also
use RefPtr instead of raw pointer.

  • WebKitSupport/ColorPickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp.

(BlackBerry::WebKit::ColorPickerClient::ColorPickerClient):
(BlackBerry::WebKit::ColorPickerClient::generateHTML):
(BlackBerry::WebKit::ColorPickerClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::ColorPickerClient::didClosePopup):

  • WebKitSupport/ColorPickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h.
  • WebKitSupport/DatePickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.cpp.

(BlackBerry::WebKit::DatePickerClient::DatePickerClient):
(BlackBerry::WebKit::DatePickerClient::~DatePickerClient):
(BlackBerry::WebKit::DatePickerClient::generateHTML):
(BlackBerry::WebKit::DatePickerClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::DatePickerClient::didClosePopup):
(BlackBerry::WebKit::DatePickerClient::generateDateLabels):

  • WebKitSupport/DatePickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.h.
  • WebKitSupport/PagePopup.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp.

(BlackBerry::WebKit::PagePopup::PagePopup):
(BlackBerry::WebKit::PagePopup::~PagePopup):
(BlackBerry::WebKit::PagePopup::initialize): Renamed as initialize
and made void, since it always returned true and the callers
ignored the return value.
(BlackBerry::WebKit::PagePopup::writeDocument): Renamed from
generateHTML for consistency with PagePopupClient::writeDocument()
and to avoid confusion with generateHTML method in the clients
that create the HTML contents but they don't write the document.
(BlackBerry::WebKit::PagePopup::setValueAndClosePopupCallback):
Make it static member of PagePopup since the JS object now holds a
reference of PagePopup instance as private data.
(BlackBerry::WebKit::popUpExtensionInitialize): Take a reference
of the PagePopup instance saved as private data of the JS object.
(BlackBerry::WebKit::popUpExtensionFinalize): Unref the PagePopup
instance saved as private data of the JS object.
(BlackBerry::WebKit::PagePopup::installDOMFunction): Instead of
saving the client as private data of the JS object using a wrapper
refcounted object, save the PagePopup instance that is now
refcounted and access the client from the PagePopup instance in
the callback.
(BlackBerry::WebKit::PagePopup::close): Renamed from closePagePopup
since PagePopup::closePagePopup was a bit redundant.

  • WebKitSupport/PagePopup.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.h.

(BlackBerry::WebKit::PagePopup::create): Static member to create
instances of PagePopup now that it's refcounted.

  • WebKitSupport/PagePopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.cpp.

(BlackBerry::WebKit::PagePopupClient::PagePopupClient):
(BlackBerry::WebKit::PagePopupClient::closePopup):
(BlackBerry::WebKit::PagePopupClient::didClosePopup):
(BlackBerry::WebKit::PagePopupClient::contentSize):
(BlackBerry::WebKit::PagePopupClient::writeDocument):

  • WebKitSupport/PagePopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.h.
  • WebKitSupport/SelectPopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp.

(BlackBerry::WebKit::SelectPopupClient::SelectPopupClient):
(BlackBerry::WebKit::SelectPopupClient::~SelectPopupClient):
(BlackBerry::WebKit::SelectPopupClient::generateHTML):
(BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):
Return early if popup has been closed already.
(BlackBerry::WebKit::SelectPopupClient::didClosePopup):
(BlackBerry::WebKit::SelectPopupClient::notifySelectionChange):

  • WebKitSupport/SelectPopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h.
8:21 AM Changeset in webkit [150755] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][GTK] fast/regions/offsetLeft-offsetTop-in-multiple-regions.html is failing
https://bugs.webkit.org/show_bug.cgi?id=116808

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-27
Reviewed by Anders Carlsson.

The test was failing because of differences between different fonts.

  • fast/regions/offsetLeft-offsetTop-in-multiple-regions-expected.txt:
  • fast/regions/offsetLeft-offsetTop-in-multiple-regions.html:
8:03 AM Changeset in webkit [150754] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Adjust date input width.
https://bugs.webkit.org/show_bug.cgi?id=100760.

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-27
Reviewed by Rob Buis.

BlackBerry PR 343497.
Internally Reviewed by Jeff Rogers.

Set width to auto to fit the string length.

  • css/themeBlackBerry.css:

(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

6:51 AM BadContent edited by zandobersek@gmail.com
Add a spamming email that was creating irrelevant attachments. (diff)
6:32 AM Changeset in webkit [150753] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream
https://bugs.webkit.org/show_bug.cgi?id=114347

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-27
Reviewed by Carlos Garcia Campos.

While processing a WebKitURISchemeRequest if there is any error reading
the InputStream provided by the user (for example the stream is already
closed) we have to notify the WebProcess that the request has failed.

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback): Get the error from
g_input_stream_read_finish() and use it to call
webkit_uri_scheme_request_finish_error() in order to finish the failing
WebKitURISchemeRequest properly.

  • UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:

(testWebContextURIScheme): Modify test to check the new situation using
an already closed InputStream.

6:25 AM Changeset in webkit [150752] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Document::setHoveredNode() should be setHoveredElement().
<http://webkit.org/b/116819>

Reviewed by Antti Koivisto.

Only Elements can be hovered, teach Document about this.

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::dispose):
(WebCore::Document::detach):

m_hoverNode => m_hoveredElement.
Removed hoverNode() and setHoverNode() since those were only used internally.

(WebCore::Document::updateHoverActiveState):

Updated for hovered things always being Elements.

(WebCore::Document::hoveredElementDidDetach):

  • dom/Element.cpp:

(WebCore::Element::detach):

Renamed Document::hoveredNodeDetached() to hoveredElementDidDetach() and fix it up
following the same pattern as elementInActiveChainDidDetach().

6:00 AM Changeset in webkit [150751] by kadam@inf.u-szeged.hu
  • 2 edits in trunk/Source/WTF

[Qt] Enable parallel GC. Probably it has been fixed in r131791.
https://bugs.webkit.org/show_bug.cgi?id=90957

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
5:48 AM Changeset in webkit [150750] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] REGRESSION(r150716): It made 15 inspector and 1 mozilla test to assert
https://bugs.webkit.org/show_bug.cgi?id=116822

Reviewed by Andreas Kling.

The input fontDescription may have more than one family defined.

  • platform/qt/RenderThemeQStyle.cpp:

(WebCore::RenderThemeQStyle::adjustButtonStyle):

5:33 AM Changeset in webkit [150749] by jocelyn.turcotte@digia.com
  • 6 edits in trunk/Source

[Qt][Win] Input events aren't mapped properly with windowless plugins.
https://bugs.webkit.org/show_bug.cgi?id=116094

Reviewed by Tor Arne Vestbø.

Source/WebCore:

The events are first sent properly but Flash then immediately repaints
and this causes flickering painting.
The issue is that Flash seems to be doing some input event tracking of
its own internally, using the HWND returned through NPN_GetValue(NPNVnetscapeWindow).

We are currently using two coordinate systems for windowless plugins on Windows with Qt:

  • FrameView coordinates: Used for input events and ajusted with the WM_WINDOWPOSCHANGED message
  • Drawable coordinates: Used by WM_PAINT and adjusted with NPP_SetWindow

This patch fixes the bug by mapping input events to the native window returned
as NPNVnetscapeWindow instead of the FrameView to ensure that those coordinates will match
the ones used by Flash internally.
With this we shouldn't be using FrameView coordinates anywhere for windowless plugins
on Windows with Qt.

  • platform/qt/QWebPageClient.h:

(QWebPageClient):

Added mapToOwnerWindow to the interface, mapping from the FrameView up to the wrapping nativeParentWidget.

  • plugins/win/PluginViewWin.cpp:

(WebCore::contentsToNativeWindow):
(WebCore::PluginView::paintIntoTransformedContext):
(WebCore::PluginView::handleMouseEvent):

Source/WebKit/qt:

  • WidgetSupport/PageClientQt.cpp:

(WebCore::PageClientQWidget::mapToOwnerWindow):
(WebCore::PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable):
(WebCore::PageClientQGraphicsWidget::screenNumber):
(WebCore::PageClientQGraphicsWidget::geometryRelativeToOwnerWidget):
(WebCore::PageClientQGraphicsWidget::mapToOwnerWindow):
(WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):
(WebCore::PageClientQGraphicsWidget::firstGraphicsView):

Extracted this common logic from makeOpenGLContextCurrentIfAvailable,
screenNumber, geometryRelativeToOwnerWidget and graphicsItemVisibleRect
to be able to use it in mapToOwnerWindow.

  • WidgetSupport/PageClientQt.h:

(PageClientQWidget):
(PageClientQGraphicsWidget):

5:23 AM Changeset in webkit [150748] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

MacroAssemblerARM should use xor to swap registers instead of move
https://bugs.webkit.org/show_bug.cgi?id=116306

Reviewed by Zoltan Herczeg.

Change register swapping to xor from move and this way we don't need
temporary register anymore.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::swap):

4:05 AM Changeset in webkit [150747] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Tighten FontGlyphs interfaces to take FontDescription instead of Font
https://bugs.webkit.org/show_bug.cgi?id=116818

Reviewed by Andreas Kling.

This gives better understanding of what the actual inputs are.

  • WebCore.exp.in:
  • platform/graphics/Font.h:

(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getFontData):

  • platform/graphics/FontCache.h:
  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

  • platform/graphics/FontFallbackList.h:

(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::isFixedPitch):
(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/blackberry/FontCacheBlackBerry.cpp:
  • platform/graphics/freetype/FontCacheFreeType.cpp:
  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::similarFontPlatformData):

Drop get* naming and make this Mac only as no other platform has it.

  • platform/graphics/qt/FontCacheQt.cpp:
  • platform/graphics/win/FontCacheWin.cpp:
  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore):

3:27 AM Changeset in webkit [150746] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

New test direct-pattern-compositing-contain-no-repeat.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=116816

Modified the layer in the reference to still be composited, but have invisible painted content.

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-05-27
Reviewed by Andreas Kling.

  • compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html:
3:23 AM Changeset in webkit [150745] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix make distcheck.

  • GNUmakefile.list.am: Add missing header file.
2:45 AM Changeset in webkit [150744] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Strengthen typing of detaching an Element from Document's :active chain.
<http://webkit.org/b/116815>

Reviewed by Antti Koivisto.

Tiny cleanup now that the :active chain can only contain elements.
Rename Document::activeChainNodeDetached() to elementInActiveChainDidDetach().

  • dom/Element.cpp:

(WebCore::Element::detach):

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::elementInActiveChainDidDetach):

Rename, take Element*, remove silly condition that was always true.

2:41 AM Changeset in webkit [150743] by abucur@adobe.com
  • 11 edits in trunk/Source/WebCore

[CSS Regions] Remove the offsetFromLogicalTopOfFirstPage parameter from layout functions
https://bugs.webkit.org/show_bug.cgi?id=116441

Reviewed by David Hyatt.

The patch changes the following things:

  • exposes offsetFromLogicalTopOfFirstPage() to all the RenderBoxes;
  • offsetFromLogicalTopOfFirstPage() is now safe to call from any box inside a flow thread, not only the

currently being laid out;

  • removes the offsetFromLogicalTopOfFirstPage parameter from all the layout functions

that didn't actually required it; when the value is necessary, the offsetFromLogicalTopOfFirstPage
function is called instead;

  • RenderFlowThread now handles its own logic for obtaining the offset from logical top of the first

region for a box, based on the layout states pushed on RenderView; it provides a better caching mechanism
that can be used for all the ancestor containing blocks of the current box being laid out.

The RenderBoxRegionInfo structures are cached only based on the box and the region. This means that
passing around a value for offsetFromLogicalTopOfFirstPage different in some cases than others was
risky. If there is a possibility of having a different box info result for a different offset
then the cache is not working correctly.

Tests: No function change, no tests.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
(WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage):
(WebCore::RenderBlock::logicalWidthChangedInRegions):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::logicalRightOffsetForLine):
(WebCore::RenderBlock::logicalLeftOffsetForLine):
(WebCore::RenderBlock::startOffsetForLine):
(WebCore::RenderBlock::endOffsetForLine):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::startOffsetForContent):
(WebCore::RenderBlock::endOffsetForContent):
(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
(WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::renderBoxRegionInfo):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
(WebCore::computeInlineStaticDistance):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidthReplaced):
(WebCore::RenderBox::computePositionedLogicalHeightReplaced):
(WebCore::RenderBox::offsetFromLogicalTopOfFirstPage):

  • rendering/RenderBox.h:
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::hasCachedOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::cachedOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::setOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::clearOffsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):
(WebCore::RenderFlowThread::pushFlowThreadLayoutState):
(WebCore::RenderFlowThread::popFlowThreadLayoutState):
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):

  • rendering/RenderFlowThread.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::popLayoutState):

2:21 AM Changeset in webkit [150742] by zarvai@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Greening bots.

  • platform/qt-5.0-wk1/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
2:13 AM Changeset in webkit [150741] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

Active DOM objects stopped twice
https://bugs.webkit.org/show_bug.cgi?id=116524

Reviewed by Alexey Proskuryakov.

Only iterate over all active DOM object to stop them once.

To ensure later created active DOM objects are stopped,
suspendActiveDOMObjectIfNeeded now also stops active DOM objects
if needed. This also fixes an existing bug when active DOM
objects were created after stopActiveDOMObjects had been called.

Two existing tests creates new active DOM objects after stopActiveDOMObjects
has been called:

fast/dom/xmlhttprequest-constructor-in-detached-document.html
fast/dom/Window/timer-null-script-execution-context.html

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::stopActiveDOMObjects):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):

1:34 AM Changeset in webkit [150740] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/plugins/mouse-events-expected.txt: Added. Rebaselining after r150558.
1:22 AM Changeset in webkit [150739] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Adding failure expectations for the current test failures.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk/TestExpectations:
1:20 AM Changeset in webkit [150738] by charles.wei@torchmobile.com.cn
  • 3 edits in trunk/Source/WebCore

Remove redundant CachedRawResource::loader()
https://bugs.webkit.org/show_bug.cgi?id=116805

Reviewed by Andreas Kling.

Just remove redundant code, no test case needed.

  • loader/cache/CachedRawResource.cpp:
  • loader/cache/CachedRawResource.h:
1:02 AM WebKitGTK/2.0.x edited by alex
(diff)
12:50 AM Changeset in webkit [150737] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/fast/dynamic/002-expected.txt: Rebaselining after r150527.
  • platform/gtk/fast/js/global-constructors-attributes-worker-expected.txt: Added. Rebaselining after r150664.
12:20 AM Changeset in webkit [150736] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

WinCE build TLC: Node::active() moved to Element.

  • rendering/RenderThemeWinCE.cpp:

(WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):

May 26, 2013:

11:55 PM Changeset in webkit [150735] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Make screen updates dependent on the existence of a drawing buffer.
https://bugs.webkit.org/show_bug.cgi?id=116539
Internal PR 330917

Patch by Jakob Petsovits <jpetsovits@blackberry.com> on 2013-05-26
Reviewed by Carlos Garcia Campos.
Internally reviewed by Xiaobo Wang and Arvid Nilsson.

This reduces complexity by relying on the current state,
rather than the suspend counter, which in turn makes it
possible to simplify the code in setCompositor().

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setCompositor):

7:33 PM Changeset in webkit [150734] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

CSSParser::parseImageResolution doesn't need a parameter.
https://bugs.webkit.org/show_bug.cgi?id=116755

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-05-26
Reviewed by Darin Adler.

parseImageResolution() can get CSSPraserValueList from m_valueList directly.

No new tests, no behavior change.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseImageResolution):

  • css/CSSParser.h:
7:07 PM Changeset in webkit [150733] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Turn TreeScope::focusedNode() into focusedElement().
<http://webkit.org/b/116802>

Reviewed by Darin Adler.

For the hundredth time, only Elements can be focused!

This change mostly reverts r121079 since that made things unnecessarily complicated
just to tweak the behavior of ShadowRoot.activeElement, an API that we don't expose.
Finding a TreeScope's focused element now does a simple walk up the parent chain instead
of running the full Shadow DOM re-targeting algorithm.

(WebCore::TreeScope::focusedElement):

Simplify and return Element* instead of Node*.

  • dom/TreeScope.h:
  • dom/TreeScope.cpp:

(WebCore::focusedFrameOwnerElement):

Make this return Element* as the name already suggested.

  • dom/Document.cpp:

(WebCore::Document::removeFocusedNodeOfSubtree):

  • dom/Element.cpp:

(WebCore::Element::blur):

  • dom/ShadowRoot.h:

(WebCore::ShadowRoot::activeElement):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::activeElement):

Simplified call sites that were paranoid about getting a non-Element focused node.

6:57 PM Changeset in webkit [150732] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

The public WK header file should not include WKAPICast.h
https://bugs.webkit.org/show_bug.cgi?id=115230

Patch by Changhun Kang <temoochin@company100.net> on 2013-05-26
Reviewed by Darin Adler.

Otherwise, WebKit internal headers are exposed.
No new tests. No change in behavior.

  • UIProcess/API/C/soup/WKSoupRequestManager.h:
  • UIProcess/soup/WebSoupRequestManagerClient.h:
6:44 PM Changeset in webkit [150731] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Plugins with no src but valid type should not snapshot
https://bugs.webkit.org/show_bug.cgi?id=116799
<rdar://problem/13695911>

Reviewed by Simon Fraser.

There are a few plug-ins around that don't take any source content
via the src attribute, but rather just load the binary based on the
mime-type. In those cases we shouldn't snapshot until we have a
mechanism to do so.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

Add MIMEType logging, and detect the case of no src but valid type.

  • html/HTMLPlugInImageElement.h: Add another SnapshotReason enum for

this special case.

6:41 PM Changeset in webkit [150730] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Encapsulate FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=116803

Reviewed by Andreas Kling.

FontGlyphs is unfriending Font. Give it a real class interface and some actual code.

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):

  • platform/graphics/Font.h:

(WebCore::Font::glyphDataForCharacter):
(WebCore::Font::glyphDataAndPageForCharacter):

  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::isInRange):
(WebCore::shouldIgnoreRotation):
(WebCore::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation):

Helpers from FontFastPath.cpp.

(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

This is the primary interface. The code moves here from FontFastPath.cpp.

  • platform/graphics/FontFallbackList.h:

(WebCore::FontGlyphs::createForPlatformData):

Remove setPlatformData in favor of constructor.

(WebCore::FontGlyphs::primarySimpleFontData):

  • platform/graphics/FontFastPath.cpp:
  • platform/graphics/GraphicsContext.h:

Remove a stray function definition also called setPlatformFont().

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

6:25 PM Changeset in webkit [150729] by Patrick Gansterer
  • 2 edits in trunk/Source/WTF

[WINCE] Add wtf_bsearch()
https://bugs.webkit.org/show_bug.cgi?id=116528

Reviewed by Darin Adler.

r149833 introduced usage of ::bsearch(), which does not exist on Windwos CE.
Add our own implementation of this function as wtf_bsearch and define
bsearch as wtf_bsearch to fix compilation on Windwos CE.

  • wtf/StdLibExtras.h:

(wtf_bsearch):

5:00 PM Changeset in webkit [150728] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove a leftover CALENDAR_PICKER from LocaleNone.cpp
https://bugs.webkit.org/show_bug.cgi?id=116800

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-26
Reviewed by Kent Tamura.

No new tests, no behavior change.

  • platform/text/LocaleNone.cpp:

(LocaleNone):

4:39 PM Changeset in webkit [150727] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Rename FontFallbackList to FontGlyphs
https://bugs.webkit.org/show_bug.cgi?id=116797

Reviewed by Andreas Kling.

Maybe it was a fallback list once. Nowadays its purpose is to cache realized glyphs and related data.

File renaming will be done separately.

  • WebCore.exp.in:
  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::operator=):
(WebCore::Font::operator==):

Refactored to early return style.

(WebCore::Font::update):
(WebCore::Font::width):

  • platform/graphics/Font.h:

(Font):
(WebCore::Font::glyphs):
(WebCore::Font::loadingCustomFonts):
(WebCore::Font::primaryFont):
(WebCore::Font::fontDataAt):
(WebCore::Font::isFixedPitch):
(WebCore::Font::fontSelector):

  • platform/graphics/FontCache.h:

(FontCache):

  • platform/graphics/FontFallbackList.cpp:

(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::invalidate):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):

Renamed for clarity along with m_fontList -> m_realizedFontData.

(WebCore::FontGlyphs::setPlatformFont):

  • platform/graphics/FontFallbackList.h:

(FontGlyphs):
(WebCore::FontGlyphs::GlyphPagesStateSaver::GlyphPagesStateSaver):
(WebCore::FontGlyphs::GlyphPagesStateSaver::~GlyphPagesStateSaver):
(GlyphPagesStateSaver):
(WebCore::FontGlyphs::create):
(WebCore::FontGlyphs::~FontGlyphs):
(WebCore::FontGlyphs::primaryFontData):

  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::glyphDataAndPageForCharacter):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

4:23 PM Changeset in webkit [150726] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Yet another WKR build fix. Sorry for the mess. It seems like I can't win today :(

  • Scripts/webkitpy/tool/commands/newcommitbot.py:

(NewCommitBot.next_work_item):

3:44 PM Changeset in webkit [150725] by rniwa@webkit.org
  • 3 edits in trunk/Tools

WKR and webkitbot build fixes.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(RollChromiumDEPS.execute):

  • Scripts/webkitpy/tool/commands/newcommitbot.py:

(NewCommitBot.next_work_item):

3:35 PM Changeset in webkit [150724] by tkent@chromium.org
  • 13 edits
    2 deletes in trunk/Source

Remove ENABLE_CALENDAR_PICKER
https://bugs.webkit.org/show_bug.cgi?id=116795

Reviewed by Ryosuke Niwa.

Source/WebCore:

This feature was used only by Chromium port.

  • Resources/pagepopups/calendarPicker.css: Removed.
  • Resources/pagepopups/calendarPicker.js: Removed.
  • css/html.css:
  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::LocaleICU):
(WebCore):

  • platform/text/LocaleICU.h:

(LocaleICU):

  • platform/text/PlatformLocale.h:

(Locale):

  • platform/text/mac/LocaleMac.h:

(LocaleMac):

  • platform/text/mac/LocaleMac.mm:

(WebCore::LocaleMac::monthLabels):

  • platform/text/win/LocaleWin.cpp:

(WebCore::LocaleWin::LocaleWin):
(WebCore::LocaleWin::monthLabels):

  • platform/text/win/LocaleWin.h:

(LocaleWin):

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

The list was wrong. Blackberry port doesn't use CALENDAR_PICKER code.

Source/WTF:

  • wtf/FeatureDefines.h:
3:32 PM Changeset in webkit [150723] by rniwa@webkit.org
  • 2 edits in trunk/Tools

roll-chromium-deps doesn't repeat the full name.

Rubber-stamped by Andreas Kling.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(RollChromiumDEPS.execute):

3:23 PM Changeset in webkit [150722] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Move :active chain participation state from Node to Element.
<http://webkit.org/b/116786>

Reviewed by Antti Koivisto.

Only Elements can be in the :active chain so move the logic there from Node.

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

Add isElementNode() type checks when updating the :active chain.

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

(WebCore::Node::detach):

  • dom/Element.cpp:

(WebCore::Element::detach):

Move the remaining logic for detaching from the UserActionElementSet to Element.

(WebCore::Element::isUserActionElementInActiveChain):

  • dom/Element.h:

(WebCore::Element::inActiveChain):

Move all the :active chain stuff from Node to Element.

  • dom/UserActionElementSet.cpp:

(WebCore::UserActionElementSet::didDetach):

  • dom/UserActionElementSet.h:

(WebCore::UserActionElementSet::isInActiveChain):
(WebCore::UserActionElementSet::setInActiveChain):

UserActionElementSet now only takes Element* in its API.

11:44 AM Changeset in webkit [150721] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: cti_optimize shouldn't allow GCs to get in the way of it seeing the state of its CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=116748

Reviewed by Geoffrey Garen.

This fixes the following race: an optimized version of our code block could be installed
by the GC just as we return from completeAllReadyPlansForVM(), leading us to believe
that the code block isn't ready yet even though it is. Currently this triggers a
RELEASE_ASSERT. We could remove that assertion, but then this case would lead to the
code in question entering into optimizeAfterWarmUp mode. That seems pretty wasteful.

Fix the bug, and hopefully close the door on these bugs for a while, by wrapping
cti_optimize in a DeferGC. There is little downside to doing so since the only
"allocations" in cti_optimize are the ones where we inform the GC about extra memory
usage.

I had a more comprehensive solution (see the bug, "work in progress" patch) but that
one involved adding *more* raciness to cti_optimize. I decided that was a less good
approach once I came to appreciate the simplicity of just using DeferGC.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

10:42 AM Changeset in webkit [150720] by fpizlo@apple.com
  • 4 edits
    9 adds in branches/dfgFourthTier

Merge trunk r150694.

Source/JavaScriptCore:

2013-05-25 Filip Pizlo <fpizlo@apple.com>


We broke (-231/-1)|0 in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116767


Reviewed by Andreas Kling.


The bug is that we were assuming that in the -231 case, we already had -231
in the result register. This was a wrong assumption.


  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):

LayoutTests:

2013-05-25 Filip Pizlo <fpizlo@apple.com>


We broke (-231/-1)|0 in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116767


Reviewed by Andreas Kling.


  • fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js: Added. (foo):
  • fast/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js: Added. (foo):
  • fast/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js: Added. (foo):
9:20 AM Changeset in webkit [150719] by Antti Koivisto
  • 8 edits
    2 deletes in trunk/Source/WebCore

Remove FontFamily.h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=116788

Reviewed by Anders Carlsson.

Empty files.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontDescription.h:
  • platform/graphics/FontFamily.cpp: Removed.
  • platform/graphics/FontFamily.h: Removed.
8:15 AM Changeset in webkit [150718] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit/win

Another build fix.

Not reviewed.

  • DOMCoreClasses.cpp:

(DOMElement::font):

  • FullscreenVideoController.cpp:

(FullscreenVideoController::draw):

8:11 AM Changeset in webkit [150717] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit/win

Build fix

Not reviewed.

  • WebKitGraphics.cpp:

(makeFont):

7:50 AM Changeset in webkit [150716] by Antti Koivisto
  • 29 edits in trunk/Source/WebCore

Use Vector instead of custom linked list for font families
https://bugs.webkit.org/show_bug.cgi?id=116783

Reviewed by Andreas Kling.

Get rid of FontFamily and SharedFontFamily.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::hasSameFont):

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::fontFamilyFromStyle):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontFamily::applyInheritValue):
(WebCore::ApplyPropertyFontFamily::applyInitialValue):
(WebCore::ApplyPropertyFontFamily::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForDocument):
(WebCore::StyleResolver::initializeFontStyle):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::font):
(WebCore::CanvasRenderingContext2D::setFont):

  • page/PrintContext.cpp:

(WebCore::PrintContext::pageProperty):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::systemFont):

  • platform/graphics/Font.h:

(WebCore::Font::firstFamily):
(WebCore::Font::familyCount):
(WebCore::Font::familyAt):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getFontData):

  • platform/graphics/FontDescription.cpp:

(SameSizeAsFontDescription):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::familyCount):
(WebCore::FontDescription::firstFamily):
(WebCore::FontDescription::familyAt):
(WebCore::FontDescription::families):
(WebCore::FontDescription::useFixedDefaultSize):
(WebCore::FontDescription::setOneFamily):
(WebCore::FontDescription::setFamilies):
(WebCore::FontDescription::adoptFamilies):
(WebCore::FontDescription::operator==):

  • platform/graphics/FontFamily.cpp:
  • platform/graphics/FontFamily.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::getSimilarFontPlatformData):

  • platform/graphics/qt/FontCacheQt.cpp:

(WebCore::FontCache::getLastResortFallbackFont):

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::systemFont):

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::controlFont):

  • platform/qt/RenderThemeQStyle.cpp:

(WebCore::RenderThemeQStyle::adjustButtonStyle):

  • platform/text/transcoder/FontTranscoder.cpp:

(WebCore::FontTranscoder::converterType):

  • platform/win/DragImageWin.cpp:

(WebCore::dragLabelFont):

  • rendering/RenderText.cpp:

(WebCore::RenderText::styleDidChange):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computeIntrinsicLogicalWidths):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemFont):
(WebCore::RenderThemeMac::setFontFromControlSize):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::systemFont):
(WebCore::RenderThemeSafari::setFontFromControlSize):

  • rendering/RenderThemeWin.cpp:

(WebCore::fillFontDescription):

7:29 AM Changeset in webkit [150715] by akling@apple.com
  • 17 edits in trunk/Source/WebCore

Move "active" state logic from Node to Element.
<http://webkit.org/b/116785>

Reviewed by Antti Koivisto.

Resolve another 7 year old FIXME by merging the "active" state logic from Node and ContainerNode
and moving it all to Element instead.

  • dom/UserActionElementSet.h:

(WebCore::UserActionElementSet::isActive):
(WebCore::UserActionElementSet::setActive):

  • dom/ContainerNode.cpp:
  • dom/ContainerNode.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • dom/Element.h:

(WebCore::Element::active):

  • dom/Element.cpp:

(WebCore::Element::isUserActionElementActive):
(WebCore::Element::setActive):

Moved here from Node/ContainerNode.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isPressed):

  • dom/Document.cpp:

(WebCore::Document::setFocusedNode):
(WebCore::Document::updateHoverActiveState):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):

  • rendering/RenderThemeMac.mm:

(WebCore::getMediaUIPartStateFlags):
(WebCore::RenderThemeMac::updatePressedState):

  • platform/qt/RenderThemeQt.cpp:

(WebCore::RenderThemeQt::getMediaControlForegroundColor):

Check that the inspected Node is an Element before asking if it's active.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::setActive):

Call the right superclass.

  • html/HTMLAnchorElement.h:
  • html/HTMLLabelElement.h:
  • html/shadow/MediaControlElementTypes.h:

Sprinkle OVERRIDE>

6:32 AM Changeset in webkit [150714] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move Node::dispatchSimulatedClick() to Element.
<http://webkit.org/b/116784>

Reviewed by Antti Koivisto.

Only Elements use the dispatchSimulatedClick() functionality, so move it there.

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

(WebCore::Element::dispatchSimulatedClick):

  • dom/EventDispatcher.h:
  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick):

5:10 AM Changeset in webkit [150713] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

TreeScope::rootNode() should return a ContainerNode.
<http://webkit.org/b/116782>

Reviewed by Antti Koivisto.

The rootNode() of a TreeScope is always a ContainerNode, so update pointer types to reflect that.
This lets us take advantage of Antti's optimized traversal functions.

  • dom/ContainerNode.h:

(WebCore::Node::isTreeScope):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Node.cpp:

(WebCore::Node::containingShadowRoot):

  • dom/Node.h:
  • dom/TreeScope.h:

(WebCore::TreeScope::rootNode):
(TreeScope):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::rootNode):
(WebCore::FocusNavigationScope::owner):

  • page/FocusController.h:

(FocusNavigationScope):

4:39 AM Changeset in webkit [150712] by akling@apple.com
  • 18 edits in trunk/Source

FocusController::setFocusedNode() should be setFocusedElement().
<http://webkit.org/b/116780>

Reviewed by Antti Koivisto.

Source/WebCore:

Only Elements can have focus, so make the public API of FocusController take Element*.

  • WebCore.exp.in:
  • page/FocusController.h:
  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

Out with the setFocusedNode(), in with the setFocusedElement().

  • dom/Element.cpp:

(WebCore::Element::focus):
(WebCore::Element::blur):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchMouseEvent):

  • plugins/PluginView.cpp:

(WebCore::PluginView::focusPluginElement):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setFocusedNodeIfNeeded):

Tweak for FocusController taking Element* instead of Node*.

(WebCore::FrameSelection::setFocusedElementIfNeeded):

Renamed from setFocusedNodeIfNeeded().

  • editing/htmlediting.h:
  • editing/htmlediting.cpp:

(WebCore::enclosingAnchorElement):

Cleaned up the loop for readability and made it return an Element.

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::clearFocusNode):
(BlackBerry::WebKit::WebPage::setNodeFocus):

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::selectObject):

Source/WebKit/win:

  • WebView.cpp:

(WebView::clearFocusNode):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::focusPluginElement):

2:43 AM Changeset in webkit [150711] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move some form control things from Element to HTMLFormControlElement.
<http://webkit.org/b/116779>

Reviewed by Antti Koivisto.

The following methods sit better on HTMLFormControlElement than on Element:

  • formControlType()
  • wasChangedSinceLastFormControlChangeEvent()
  • setChangedSinceLastFormControlChangeEvent()
  • dispatchFormControlChangeEvent()

Moved them, and devirtualized as much as possible.

  • dom/Document.cpp:

(WebCore::Document::setFocusedNode):

Check if the old focus target is an Element before (possibly) dispatching a change event.

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

Removed some stub methods that were only used by HTMLFormControlElement subclasses.

  • html/HTMLFormControlElement.cpp:
  • html/HTMLFormControlElement.h:

(WebCore::isHTMLFormControlElement):
(WebCore::toHTMLFormControlElement):

Add toHTMLFormControlElement() helper with ASSERT_WITH_SECURITY_IMPLICATION.

  • html/HTMLTextFormControlElement.h:

Sprinkle OVERRIDE.

2:39 AM Changeset in webkit [150710] by akling@apple.com
  • 30 edits in trunk/Source/WebCore

Move Node::supportsFocus() to Element.
<http://webkit.org/b/116778>

Reviewed by Antti Koivisto.

Node never supports focus, so move supportsFocus() to Element instead.

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

Removed Node::supportsFocus(), it always returned false anyway.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetFocusAttribute):

Check that the underlying Node is an Element before asking if it supports focus.

  • html/HTMLAnchorElement.h:
  • html/HTMLAreaElement.h:
  • html/HTMLBodyElement.h:
  • html/HTMLElement.h:
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLFrameElementBase.h:
  • html/HTMLMediaElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLOutputElement.h:
  • svg/SVGAElement.h:
  • svg/SVGCircleElement.h:
  • svg/SVGEllipseElement.h:
  • svg/SVGGElement.h:
  • svg/SVGImageElement.h:
  • svg/SVGLineElement.h:
  • svg/SVGPathElement.h:
  • svg/SVGPolyElement.h:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.h:
  • svg/SVGSwitchElement.h:
  • svg/SVGSymbolElement.h:
  • svg/SVGTextElement.h:
  • svg/SVGUseElement.h:

OVERRIDE ALL THE THINGS!

May 25, 2013:

10:05 PM Changeset in webkit [150709] by akling@apple.com
  • 14 edits in trunk/Source/WebCore

Move Node::isFocusable() to Element.
<http://webkit.org/b/116777>

Reviewed by Anders Carlsson.

Nodes cannot be focusable, so move isFocusable() from Node to Element.

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

(WebCore::Element::isFocusable):

Moved here from Node.

  • dom/Document.cpp:

(WebCore::Document::setFocusedNode):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

Check that the underlying node is an Element before asking if it's focusable.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor):

Renamed the 'anchorNode' variable to 'anchorElement' because reasons.

  • html/HTMLAreaElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLLabelElement.h:
  • html/HTMLOptionElement.h:
  • svg/SVGAElement.h:

Sprinkle OVERRIDE.

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessage):

Update a comment to refer to Element::isFocusable() instead of Node.

9:42 PM Changeset in webkit [150708] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Broken link to committers list on contributing web page
https://bugs.webkit.org/show_bug.cgi?id=116722

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-25
Reviewed by Andreas Kling.

  • coding/contributing.html:

Changed broken link to point to the team page instead.

9:33 PM Changeset in webkit [150707] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Move Node::tabIndex() to Element.
<http://webkit.org/b/116772>

Reviewed by Ryosuke Niwa.

Since only Elements are keyboard-focusable, it doesn't make sense for Node to have a tabIndex().

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

A Node can't have a tab index, so move tabIndex() to Element.

  • page/FocusController.h:
  • page/FocusController.cpp:

(WebCore::adjustedTabIndex):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

Make this code deal in Element* when doing tab index stuff. FocusController needs
more Node->Element cleanup, but let's do that separately.

  • html/HTMLAnchorElement.h:
  • html/HTMLElement.h:
  • html/HTMLFormControlElement.h:

Sprinkle OVERRIDE.

9:31 PM Changeset in webkit [150706] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Revert another erroneous change.

  • Scripts/webkitpy/tool/commands/newcommitbot.py:

(NewCommitBot.next_work_item):

9:13 PM Changeset in webkit [150705] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Revert an erroneous change.

  • Scripts/webkitpy/tool/commands/sheriffbot.py:

(SheriffBot):

8:39 PM Changeset in webkit [150704] by rniwa@webkit.org
  • 4 edits in trunk/Tools

Some build fixes for WKR and webkitbot.

  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:

(IRCBotTest.test_help):

  • Scripts/webkitpy/tool/commands/newcommitbot.py:

(Agent):
(Agent.init):
(Agent.name):
(NewCommitBot):
(NewCommitBot.begin_work_queue):
(NewCommitBot.next_work_item):

  • Scripts/webkitpy/tool/commands/sheriffbot.py:

(SheriffBot):

8:35 PM Changeset in webkit [150703] by fpizlo@apple.com
  • 7 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support ArithDiv
https://bugs.webkit.org/show_bug.cgi?id=116771

Reviewed by Oliver Hunt.

  • ftl/FTLAbbreviations.h:

(JSC::FTL::buildDiv):
(JSC::FTL::buildRem):
(JSC::FTL::buildFDiv):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCommonValues.cpp:

(JSC::FTL::CommonValues::CommonValues):

  • ftl/FTLCommonValues.h:

(CommonValues):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(LowerDFGToLLVM):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::div):
(JSC::FTL::Output::rem):
(JSC::FTL::Output::doubleDiv):

8:29 PM Changeset in webkit [150702] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Don't instantiate ChildNodeLists just to get a child count.
<http://webkit.org/b/116776>

Reviewed by Ryosuke Niwa.

Use ContainerNode::childNodeCount() instead of Node::childNodes()->length().

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

7:57 PM Changeset in webkit [150701] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Teach webkitbot and WKR how to respond to yt?
https://bugs.webkit.org/show_bug.cgi?id=116775

Reviewed by Andreas Kling.

  • Scripts/webkitpy/tool/bot/irc_command.py:

(Hi): Fixed the usage string.
(Hi.execute): Made it more generic so that it works in WKR.
(YouThere): Added.
(YouThere.execute): Added.

  • Scripts/webkitpy/tool/commands/newcommitbot.py:
7:48 PM Changeset in webkit [150700] by akling@apple.com
  • 7 edits in trunk/Source

PluginDocument::pluginNode() should be pluginElement() instead.
<http://webkit.org/b/116774>

Reviewed by Anders Carlsson.

Source/WebCore:

Make PluginDocument hand out a HTMLPlugInElement* instead of a Node*.

  • dom/Document.cpp:

(WebCore::eventTargetNodeForDocument):

  • html/PluginDocument.h:
  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):
(WebCore::PluginDocument::pluginWidget):
(WebCore::PluginDocument::setPluginElement):
(WebCore::PluginDocument::detach):

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::focusedPluginViewForFrame):

7:27 PM Changeset in webkit [150699] by akling@apple.com
  • 7 edits in trunk/Source

Remove Document::getFocusableNodes().
<http://webkit.org/b/116773>

Reviewed by Joseph Pecoraro.

Source/WebCore:

This was added in r42191 and there are no remaining clients of the API.

  • dom/Document.cpp:
  • dom/Document.h:
  • WebCore.exp.in:

Source/WebKit/mac:

Remove the private _focusableNodes API on DOMDocument, it has no clients.

  • DOM/WebDOMOperations.mm:
  • DOM/WebDOMOperationsPrivate.h:
7:22 PM Changeset in webkit [150698] by Simon Fraser
  • 2 edits in trunk/Tools

Try to fix the EFL build.

  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::setPageVisibility):

7:22 PM Changeset in webkit [150697] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Move Node::focusDelegate() to Element.
<http://webkit.org/b/116768>

Reviewed by Anders Carlsson.

Only Element can be a focus delegate (it's currently only ever HTMLInputElement actually)
so move Node::focusDelegate() to Element. Sprinkled isElementNode() checks as needed.

  • dom/Node.cpp:
  • dom/Node.h:
  • dom/Element.h:
  • dom/Element.cpp:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::focusDelegate):

  • html/shadow/SliderThumbElement.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isFocused):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSliderThumb):

5:51 PM Changeset in webkit [150696] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Path: clean up addPathForRoundedRect()
https://bugs.webkit.org/show_bug.cgi?id=116765

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-25
Reviewed by Andreas Kling.

Reorganize code that is a bit redundant.

No new tests, no behavior change.

  • platform/graphics/Path.cpp:

(WebCore::Path::addPathForRoundedRect):

4:56 PM Changeset in webkit [150695] by Simon Fraser
  • 35 edits in trunk

Unprefix Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=102340

Source/WebCore:

Reviewed by Tim Horton.

Remove prefixes from the document properties, and the visibilitychanged event.

Rename the "preview" state to "unloaded". The "unloaded" state is never
reached yet (see https://bugs.webkit.org/show_bug.cgi?id=116769).

Add some comments to places where we should update the visibility state
when going in and out of the page cache, but cannot safely do so yet.

Tested by existing Page Visibility tests.

  • dom/Document.cpp:

(WebCore::Document::pageVisibilityState):
(WebCore::Document::visibilityState):
(WebCore::Document::hidden):
(WebCore::Document::dispatchVisibilityStateChangeEvent):

  • dom/Document.h:
  • dom/Document.idl:
  • dom/EventNames.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

  • page/Page.cpp:

(WebCore::Page::setVisibilityState):

  • page/PageVisibilityState.cpp:

(WebCore::pageVisibilityStateString):

  • page/PageVisibilityState.h:

Source/WebKit/efl:

Reviewed by Tim Horton.

Rename "preview" state to "unloaded" state.

  • WebCoreSupport/AssertMatchingEnums.cpp:
  • ewk/ewk_view.h:

Source/WebKit/mac:

Reviewed by Tim Horton.

Renaming of the "preview" state to "unloaded".

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

Source/WebKit2:

Reviewed by Tim Horton.

Renaming of the "preview" state to "unloaded".

  • Shared/API/c/WKPageVisibilityTypes.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toPageVisibilityState):

Tools:

Reviewed by Tim Horton.

Rename "preview" state to "unloaded" state, and adjust the tests
to test for it.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setPageVisibility):

  • TestWebKitAPI/Tests/WebKit2/PageVisibilityState.cpp:

(TestWebKitAPI::setPageVisibilityStateWithEvalContinuation):
(TestWebKitAPI::didRunStep2StateChangeHiddenToPrerender):
(TestWebKitAPI::didRunStep3StateChangePrerenderToUnloaded):
(TestWebKitAPI::didRunStep4InStateUnloaded):

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.html:
  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setPageVisibility):

LayoutTests:

Reviewed by Tim Horton.

Remove prefixes, adjust to state name changes.

  • fast/events/page-visibility-iframe-delete-test.html:
  • fast/events/page-visibility-iframe-move-test-expected.txt:
  • fast/events/page-visibility-iframe-move-test.html:
  • fast/events/page-visibility-iframe-propagation-test-expected.txt:
  • fast/events/page-visibility-iframe-propagation-test.html:
  • fast/events/page-visibility-null-view-expected.txt:
  • fast/events/page-visibility-null-view.html:
  • fast/events/page-visibility-transition-test-expected.txt:
  • fast/events/page-visibility-transition-test.html:
4:31 PM Changeset in webkit [150694] by fpizlo@apple.com
  • 4 edits
    9 adds in trunk

We broke (-231/-1)|0 in the DFG
https://bugs.webkit.org/show_bug.cgi?id=116767

Source/JavaScriptCore:

Reviewed by Andreas Kling.

The bug is that we were assuming that in the -231 case, we already had -231
in the result register. This was a wrong assumption.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIntegerArithDivForX86):

LayoutTests:

Reviewed by Andreas Kling.

  • fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.html: Added.
  • fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc-expected.txt: Added.
  • fast/js/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-div-by-neg1-and-then-or-zero-interesting-reg-alloc.js: Added.

(foo):

  • fast/js/script-tests/dfg-div-by-zero-and-then-or-zero-interesting-reg-alloc.js: Added.

(foo):

  • fast/js/script-tests/dfg-div-neg2tothe31-by-one-and-then-or-zero-with-interesting-reg-alloc.js: Added.

(foo):

4:13 PM Changeset in webkit [150693] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Updated expected results after r150688.

Reviewed by Andreas Kling.

  • http/tests/globalhistory/history-delegate-basic-refresh-redirect-expected.txt: Now shows

the URL that performed the client redirect, as expected.

4:09 PM Changeset in webkit [150692] by akling@apple.com
  • 21 edits in trunk/Source

Move Node::isMouseFocusable() to Element.
<http://webkit.org/b/116762>

Reviewed by Anders Carlsson.

Source/WebCore:

Node::isMouseFocusable() would just return isFocusable(), which is never true for a non-Element
since Node::supportsFocus() always returns false. So move it to Element!

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

(WebCore::Element::isMouseFocusable):

Moved here from Node.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setFocusedNodeIfNeeded):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchMouseEvent):

Walk up the parent chain with parentOrShadowHostElement() instead of parentOrShadowHostNode().
Removed a misleading no-op hunk about mouse-focusable ShadowRoots, since ShadowRoots are not
Elements and thus cannot be mouse-focusable.

  • page/TouchAdjustment.cpp:

(WebCore::TouchAdjustment::nodeRespondsToTapGesture):

Check that the Node is an Element before asking if it's mouse-focusable.

  • html/HTMLAnchorElement.h:
  • html/HTMLAreaElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLSelectElement.h:
  • html/HTMLTextAreaElement.h:
  • html/shadow/ClearButtonElement.h:
  • html/shadow/TextControlInnerElements.h:
  • svg/SVGAElement.h:
  • svg/SVGStyledElement.h:

Sprinkle OVERRIDE.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::highlightPotentialActivation):

Check that the potentially activated Node is an Element before asking if it's mouse-focusable.

2:34 PM Changeset in webkit [150691] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: WebProcess is terminated when all Safari windows are closed.
<rdar://problem/13990901>
<http://webkit.org/b/116766>

Reviewed by Alexey Proskuryakov.

When closing the last page, only disconnect the web process if we're using a network process.
Otherwise there might be session state in the web process getting lost.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::removeWebPage):

1:17 PM Changeset in webkit [150690] by mark.lam@apple.com
  • 10 edits in branches/dfgFourthTier/Source

Remove Interpreter::retrieveLastCaller().
https://bugs.webkit.org/show_bug.cgi?id=116753.

Reviewed by Geoffrey Garen.

This is part of the refactoring effort to get rid of functions walking
the JS stack in their own way.

../JavaScriptCore:

  • API/JSContextRef.cpp:

(JSContextCreateBacktrace):

  • interpreter/CallFrame.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::addStackTraceIfNecessary):

  • interpreter/Interpreter.h:

(StackFrame):
(JSC::StackFrame::StackFrame):
(Interpreter):

  • jsc.cpp:

(functionJSCStack):

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::addParentForConsoleStart):

../WebCore:

No new tests.

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::send):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

11:35 AM Changeset in webkit [150689] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebFrameProxy::didFailLoad clears frame title for no apparent reason
https://bugs.webkit.org/show_bug.cgi?id=116655

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-05-25
Reviewed by Alexey Proskuryakov.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didFailLoad):

10:57 AM Changeset in webkit [150688] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit/mac

<rdar://problem/13924889> -webView:didPerformClientRedirectFromURL:toURL:inFrame: should be given the redirecting URL as the “from” URL
https://bugs.webkit.org/show_bug.cgi?id=116733

Reviewed by Adele Peterson.

By the time the history controller calls updateGlobalHistoryRedirectLinks(), the document
loader already reflects the destination URL. In order to be able to provide the immediate
source URL to the delegate, we make WebFrame track a URL and provisional URL, updating them
in response to FrameLoader callbacks in exactly the same way WebFrameProxy maintains its
m_url and m_provisionalURL member variables.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Update
provisionalURL.
(WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): Update url.
(WebFrameLoaderClient::dispatchDidPushStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidPopStateWithinPage): Ditto.
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad): Update provisionalURL.
(WebFrameLoaderClient::dispatchDidCommitLoad): Update URL and provisionalURL.
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Clear provisionalURL.
(WebFrameLoaderClient::dispatchDidFailLoad): Added an assertion.
(WebFrameLoaderClient::dispatchDidFinishLoad): Ditto.
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Pass the last committed URL as the
source, rather than clientRedirectSourceForHistory().

  • WebView/WebFrameInternal.h: Added url and provisionalURL ivars to WebFramePrivate.
5:02 AM Changeset in webkit [150687] by akling@apple.com
  • 16 edits in trunk/Source/WebCore

Move Node::isKeyboardFocusable() to Element.
<http://webkit.org/b/116761>

Reviewed by Antti Koivisto.

Only Elements can be keyboard-focusable. Move the base isKeyboardFocusable() implementation to Element
and sprinkle OVERRIDE on subclass overrides.
FocusController gets some temporary type checks that will go away as that code moves to dealing in
Elements instead of Node.

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

(WebCore::Element::isKeyboardFocusable):

Move isKeyboardFocusable() from Node to Element.

  • page/FocusController.cpp:

(WebCore::isNonFocusableShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::shouldVisit):
(WebCore::FocusController::advanceFocusInDocumentOrder):

Check that the inspected Node is an Element before querying isKeyboardFocusable().

  • html/HTMLAnchorElement.h:
  • html/HTMLAreaElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLPlugInElement.h:
  • html/HTMLSelectElement.h:
  • html/HTMLTextAreaElement.h:
  • svg/SVGAElement.h:
  • svg/SVGStyledElement.h:

Sprinkle OVERRIDE.

3:27 AM Changeset in webkit [150686] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Begin moving "focus" state logic from Node to Element.
<http://webkit.org/b/116760>

Reviewed by Antti Koivisto.

Only Elements can be focused, so merge the "focus" state logic from Node and ContainerNode
and move it into Element. There's a lot more iceberg under this tip, but we'll be starting
with setFocus(bool) and focused().

  • dom/Node.h:
  • dom/ContainerNode.cpp:
  • dom/ContainerNode.h:
  • dom/Element.cpp:

(WebCore::Element::isUserActionElementFocused):
(WebCore::Element::setFocus):

  • dom/Element.h:

(WebCore::Element::focused):

  • dom/Node.cpp:

Move focused() and setFocus(bool) from Node/ContainerNode to Element.

  • dom/Document.cpp:

(WebCore::Document::setFocusedNode):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchMouseEvent):

Check if the inspected Node is an Element before asking if it's focused.

2:51 AM Changeset in webkit [150685] by noam.rosenthal@nokia.com
  • 3 edits
    2 adds in trunk

Direct pattern compositing breaks when no-repeat is set on a large layer
https://bugs.webkit.org/show_bug.cgi?id=116140

Source/WebCore:

Reviewed by Antti Koivisto.

In some cases the directly composited background color logic overrides the layer's
contentsRect, which results in wrong rendering of tiled images.
This patch makes sure that the background image is applied after the solid color,
which ensures the correct contentsRect.

Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDirectlyCompositedContents):

LayoutTests:

Added a ref-test to make sure that direct pattern compositing works well with no-repeat
in a particular geometry.

Reviewed by Antti Koivisto.

  • compositing/patterns/direct-pattern-compositing-contain-no-repeat-expected.html: Added.
  • compositing/patterns/direct-pattern-compositing-contain-no-repeat.html: Added.
2:16 AM Changeset in webkit [150684] by akling@apple.com
  • 14 edits in trunk/Source/WebCore

Move "hover" state logic from Node to Element.
<http://webkit.org/b/116757>

Reviewed by Antti Koivisto.

Resolve a 7 year old FIXME by merging the "hover" state logic from Node and ContainerNode
and moving it all to Element instead.

  • dom/Node.cpp:

(WebCore::Node::detach):

  • dom/Element.cpp:

(WebCore::Element::detach):

Move Document::hoveredNodeDetached() call from Node::detach() to Element::detach().

(WebCore::Element::isUserActionElementHovered):
(WebCore::Element::setHovered):

  • dom/Element.h:

(WebCore::Element::hovered):

Moved here from Node/ContainerNode.

  • dom/UserActionElementSet.h:

(WebCore::UserActionElementSet::setHovered):
(WebCore::UserActionElementSet::setFlags):

Make setHovered() take an Element* instead of a Node*. I'd like to do this will all
of these methods eventually, so added a setFlags() helper with the tighter type.

  • html/HTMLLabelElement.h:
  • html/shadow/SpinButtonElement.h:

Sprinkle OVERRIDE on setHovered() overrides.

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isHovered):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isHovered):

Check if the inspected Node is an element before asking if it's hovered.

2:08 AM Changeset in webkit [150683] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Document::formController() should return a reference.
<http://webkit.org/b/116758>

Reviewed by Antti Koivisto.

The formController() is created on demand, so return a reference instead.

  • dom/Document.h:
  • dom/Document.cpp:

(WebCore::Document::formController):
(WebCore::Document::setStateForNewFormElements):

  • html/HTMLFormControlElementWithState.cpp:

(WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
(WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
(WebCore::HTMLFormControlElementWithState::finishParsingChildren):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::~HTMLFormElement):
(WebCore::HTMLFormElement::finishParsingChildren):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::didMoveToNewDocument):
(WebCore::HTMLInputElement::checkedRadioButtons):

1:29 AM Changeset in webkit [150682] by sergio@webkit.org
  • 2 edits in trunk/Source/WebCore

Reducing CSS code duplication in declaration list error recovery
https://bugs.webkit.org/show_bug.cgi?id=115157

Reviewed by Andreas Kling.

From Blink r148974 by <serya@chromium.org>

Refactor "invalid_block_list error | /* empty */" in a new
decl_list_recovery rule that allows to remove 4 redundant rules.

No new test required as we're just refactoring code, no new behaviour.

  • css/CSSGrammar.y.in:

May 24, 2013:

9:20 PM Changeset in webkit [150681] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[Qt][GTK] Build fix after r150669
https://bugs.webkit.org/show_bug.cgi?id=116751

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-24
Reviewed by Christophe Dumez.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::getEditorCommandsForKeyEvent):

9:01 PM Changeset in webkit [150680] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Remove obsolete Page forward declaration from InspectorClientEfl.h
https://bugs.webkit.org/show_bug.cgi?id=116752

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-24
Reviewed by Christophe Dumez.

  • WebCoreSupport/InspectorClientEfl.h:
7:44 PM CommitterTips edited by Seokju Kwon
It is generated automatically from ​contributors.json after r150662. (diff)
7:19 PM Changeset in webkit [150679] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL] Build fix after r150669
https://bugs.webkit.org/show_bug.cgi?id=116750

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-24
Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • WebProcess/Battery/WebBatteryManager.cpp:

(WebKit::WebBatteryManager::registerWebPage):
(WebKit::WebBatteryManager::unregisterWebPage):

  • WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:

(WebKit::WebNetworkInfoManager::registerWebPage):
(WebKit::WebNetworkInfoManager::unregisterWebPage):
(WebKit::WebNetworkInfoManager::bandwidth):
(WebKit::WebNetworkInfoManager::metered):

  • WebProcess/WebCoreSupport/WebVibrationClient.cpp:

(WebKit::WebVibrationClient::vibrate):
(WebKit::WebVibrationClient::cancelVibration):

  • WebProcess/soup/WebSoupRequestManager.cpp:

(WebKit::WebSoupRequestManager::didReceiveURIRequestData):
(WebKit::WebSoupRequestManager::send):

6:28 PM Changeset in webkit [150678] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed change to get Windows bots green. Disable a number
of crashes and failures. Crashes are tracked under
https://bugs.webkit.org/show_bug.cgi?id=116562, failures under
https://bugs.webkit.org/show_bug.cgi?id=116564.

  • platform/win/TestExpectations:
6:18 PM Changeset in webkit [150677] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix. Don't use new NRWT logic needed
by Windows yet. Activate (and fix test) when we cut over.

  • Scripts/webkitpy/port/driver.py:

(Driver._setup_environ_for_driver):
(Driver._start):

6:12 PM Changeset in webkit [150676] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Inline TCMalloc_Central_FreeList's RemoveRange and FetchFromSpansSafe
https://bugs.webkit.org/show_bug.cgi?id=116700

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-05-24
Reviewed by Darin Adler.

The two functions only have one call site each.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_Central_FreeList::RemoveRange):
(WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):

6:02 PM Changeset in webkit [150675] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r150664.

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore):

5:59 PM Changeset in webkit [150674] by Lucas Forschler
  • 4 edits in branches/safari-537.43-branch/Source

Versioning.

5:56 PM Changeset in webkit [150673] by Lucas Forschler
  • 1 copy in tags/Safari-537.43.2

New Tag.

5:49 PM Changeset in webkit [150672] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Fixing invalid block recovery in some declaration list.
https://bugs.webkit.org/show_bug.cgi?id=115159

Patch by Sergio Villar Senin <svillar@igalia.com> on 2013-05-24
Reviewed by Darin Adler.

From Blink r148889 by <serya@chromium.org>

Source/WebCore:

Improves the detection of some invalid block declarations inside a
declaration list. This allows the parser not to completely discard
a whole declaration list that contains an invalid block. In
particular grammar failed in tests 8, 12, 13, 15, 16 and 17 in the
new test added by this change.

Test: fast/css/parsing-invalid-block-recovery.html

  • css/CSSGrammar.y.in:

LayoutTests:

  • fast/css/parsing-invalid-block-recovery-expected.txt: Added.
  • fast/css/parsing-invalid-block-recovery.html: Added.
5:48 PM Changeset in webkit [150671] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

DidFirstFlushForHeaderLayer can be called too soon on pages that redirect
https://bugs.webkit.org/show_bug.cgi?id=116749
-and corresponding-
<rdar://problem/13886753>

Reviewed by Simon Fraser.

Only start m_paintRelatedMilestonesTimer if we have actually painted.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

5:19 PM Changeset in webkit [150670] by Brent Fulgham
  • 11 edits in trunk

[Windows] Expose database storage and cache locations via preferences.
https://bugs.webkit.org/show_bug.cgi?id=116729

Reviewed by Tim Horton.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Export

three symbols needed to implement the feature.

Source/WebKit/win:

  • WebDatabaseManager.cpp: Update to check preferences for the

desired location of the database store.
(databasesDirectory): Added.
(WebKitInitializeWebDatabasesIfNecessary): Use new databasesDirectory
method to determine what system path to use for file storage.

  • WebKit.vcproj/WebKitExports.def.in: Export three symbols

needed to implement the feature.

  • WebView.cpp: Update to check preferences for the desired location

of the various caches used by WebKit.
(WebView::setCacheModel): Update to check preferences for URL cache
storage.
(WebKitSetApplicationCachePathIfNecessary): Update to check
preferences for ccache storage.

Tools:

Update DumpRenderTree to use CFPreferences to control where WebKit
stores its local databases, URL caches, etc.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(libraryPathForDumpRenderTree): Added.
(dllLauncherEntryPoint): Set up DRT-specific cache locations.

  • Scripts/webkitpy/port/base.py:

(Port._driver_tempdir): Added (to allow port-specific overload).
(Port._driver_tempdir_for_environment): Ditto

  • Scripts/webkitpy/port/driver.py:

(Driver._setup_environ_for_driver): Use new overload to set
environment variable.
(Driver._start): Use new overload for temp directory location.

  • Scripts/webkitpy/port/win.py:

(WinPort._driver_tempdir_for_environment): New overload to supply
Windows path to DumpRenderTree environment (while still using
cygwin paths for internal operations.

5:17 PM Changeset in webkit [150669] by andersca@apple.com
  • 40 edits
    1 copy in trunk/Source/WebKit2

MessageSender shouldn't be a class template
https://bugs.webkit.org/show_bug.cgi?id=116743

Reviewed by Andreas Kling.

Change MessageSender to be a proper abstract base class. Subclasses of MessageSender must
implement messageSenderConnection() as well as messageSenderDestinationID().

This reduces code size and will allow us to be more flexible with MessageSender in the future.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
(WebKit::NetworkResourceLoader::messageSenderConnection):
(WebKit):
(WebKit::NetworkResourceLoader::messageSenderDestinationID):

  • NetworkProcess/NetworkResourceLoader.h:

(NetworkResourceLoader):

  • NetworkProcess/mac/DiskCacheMonitor.h:

(DiskCacheMonitor):

  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::messageSenderConnection):
(WebKit::DiskCacheMonitor::messageSenderDestinationID):
(WebKit):

  • Platform/CoreIPC/MessageSender.h:

(CoreIPC):
(MessageSender):
(CoreIPC::MessageSender::send):
(CoreIPC::MessageSender::sendSync):

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::messageSenderConnection):
(WebKit):
(WebKit::ChildProcess::messageSenderDestinationID):

  • Shared/ChildProcess.h:

(ChildProcess):

  • Shared/Downloads/Download.cpp:

(WebKit::Download::messageSenderConnection):
(WebKit):
(WebKit::Download::messageSenderDestinationID):

  • Shared/Downloads/Download.h:

(Download):

  • Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:

(WebKit::CustomProtocolManager::initialize):

  • Shared/WebConnection.h:

(WebConnection):

  • Shared/mac/SecItemShim.cpp:

(WebKit::sendSecItemRequest):

  • UIProcess/WebConnectionToWebProcess.cpp:

(WebKit::WebConnectionToWebProcess::hasValidConnection):
(WebKit::WebConnectionToWebProcess::messageSenderConnection):
(WebKit::WebConnectionToWebProcess::messageSenderDestinationID):

  • UIProcess/WebConnectionToWebProcess.h:

(WebConnectionToWebProcess):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):

  • WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:

(WebKit::WebIconDatabaseProxy::retainIconForPageURL):
(WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
(WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
(WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
(WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
(WebKit::WebIconDatabaseProxy::setIconDataForIconURL):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::messageSenderConnection):
(WebKit::WebResourceLoader::messageSenderDestinationID):

  • WebProcess/Network/WebResourceLoader.h:

(WebResourceLoader):

  • WebProcess/Notifications/WebNotificationManager.cpp:

(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::~StorageAreaMap):
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::removeItem):
(WebKit::StorageAreaMap::clear):
(WebKit::StorageAreaMap::loadValuesIfNeeded):

  • WebProcess/WebConnectionToUIProcess.cpp:

(WebKit::WebConnectionToUIProcess::hasValidConnection):
(WebKit::WebConnectionToUIProcess::messageSenderConnection):
(WebKit::WebConnectionToUIProcess::messageSenderDestinationID):

  • WebProcess/WebConnectionToUIProcess.h:

(WebConnectionToUIProcess):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::windowRect):
(WebKit::WebChromeClient::focusedFrameChanged):
(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::toolbarsVisible):
(WebKit::WebChromeClient::statusbarVisible):
(WebKit::WebChromeClient::menubarVisible):
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::shouldInterruptJavaScript):
(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebColorChooser.cpp:

(WebKit::WebColorChooser::WebColorChooser):
(WebKit::WebColorChooser::setSelectedColor):
(WebKit::WebColorChooser::endChooser):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon):
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::setTitle):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::populatePluginCache):
(WebKit::WebPlatformStrategies::getTypes):
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::getPathnamesForType):
(WebKit::WebPlatformStrategies::stringForType):
(WebKit::WebPlatformStrategies::copy):
(WebKit::WebPlatformStrategies::changeCount):
(WebKit::WebPlatformStrategies::uniqueName):
(WebKit::WebPlatformStrategies::color):
(WebKit::WebPlatformStrategies::url):
(WebKit::WebPlatformStrategies::addTypes):
(WebKit::WebPlatformStrategies::setTypes):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::setPathnamesForType):
(WebKit::WebPlatformStrategies::setStringForType):

  • WebProcess/WebCoreSupport/WebPopupMenu.cpp:

(WebKit::WebPopupMenu::show):
(WebKit::WebPopupMenu::hide):

  • WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:

(WebKit::WebSearchPopupMenu::saveRecentSearches):
(WebKit::WebSearchPopupMenu::loadRecentSearches):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::sendDidReceiveEvent):

  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::updateBackForwardItem):
(WebKit::WebBackForwardListProxy::itemAtIndex):
(WebKit::WebBackForwardListProxy::backListCount):
(WebKit::WebBackForwardListProxy::forwardListCount):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::createInspectorPage):
(WebKit::WebInspector::didClose):
(WebKit::WebInspector::bringToFront):
(WebKit::WebInspector::inspectedURLChanged):
(WebKit::WebInspector::save):
(WebKit::WebInspector::append):
(WebKit::WebInspector::attachBottom):
(WebKit::WebInspector::attachRight):
(WebKit::WebInspector::detach):
(WebKit::WebInspector::setAttachedWindowHeight):
(WebKit::WebInspector::setAttachedWindowWidth):
(WebKit::WebInspector::setToolbarHeight):
(WebKit::WebInspector::updateDockingAvailability):
(WebKit::WebInspector::sendMessageToRemoteFrontend):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::messageSenderConnection):
(WebKit):
(WebKit::WebPage::messageSenderDestinationID):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::executeKeypressCommandsInternal):
(WebKit::WebPage::handleEditingKeyboardEvent):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection):
(WebKit::WebProcess::shouldTerminate):

4:52 PM Changeset in webkit [150668] by andersca@apple.com
  • 15 edits in trunk/Source/WebKit/mac

Remove using namespace std from Mac WebKit1
https://bugs.webkit.org/show_bug.cgi?id=116747

Reviewed by Sam Weinig.

Use explicit std:: qualifiers instead.

  • History/BinaryPropertyList.cpp:

(IntegerArray::deletedValueSize):
(BinaryPropertyListPlan::invalidObjectReference):
(bytesNeeded):

  • History/WebHistory.mm:

(-[WebHistoryPrivate orderedLastVisitedDays]):
(WebHistoryWriter::WebHistoryWriter):

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]):

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::instantiatePlugin):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::wheelEvent):
(WebKit::NetscapePluginInstanceProxy::print):
(WebKit::NetscapePluginInstanceProxy::snapshot):
(WebKit::NetscapePluginInstanceProxy::loadURL):
(WebKit::NetscapePluginInstanceProxy::createBindingsInstance):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke):
(WebKit::ProxyInstance::supportsInvokeDefaultMethod):
(WebKit::ProxyInstance::supportsConstruct):
(WebKit::ProxyInstance::getPropertyNames):
(WebKit::ProxyInstance::methodNamed):
(WebKit::ProxyInstance::fieldNamed):
(WebKit::ProxyInstance::fieldValue):
(WebKit::ProxyInstance::setFieldValue):

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage supportsExtension:]):
(-[WebBasePluginPackage MIMETypeForExtension:]):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::deliverData):

  • Plugins/WebNetscapePluginView.mm:

(PluginTimer::start):
(-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebFrame.mm:
  • WebView/WebHTMLView.mm:

(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _placePopupWindow:]):

4:46 PM Changeset in webkit [150667] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
4:37 PM Changeset in webkit [150666] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting
https://bugs.webkit.org/show_bug.cgi?id=116744
<rdar://problem/13973514>

Reviewed by Simon Fraser.

  • WebCore.exp.in: Export FrameView::resumeAnimatingImages.
  • page/FrameView.cpp:

(WebCore::FrameView::setIsInWindow):
(WebCore::FrameView::resumeAnimatingImages):
Factor the code to restart animated images out of frameView::setIsInWindow.

  • page/FrameView.h:

(FrameView):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::resumePainting):
Force WebCore to repaint animated images when painting is resumed.

4:30 PM Changeset in webkit [150665] by andersca@apple.com
  • 7 edits
    4 moves in trunk/Source

Move history property list writer to WebKit
https://bugs.webkit.org/show_bug.cgi?id=116746

Reviewed by Tim Horton.

Source/WebCore:

Remove files from the Xcode project and remove symbols that now live in WebKit.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Add files to the Xcode project.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Move WebCore history files to WebKit since they're only used by WebKit now.

  • History/BinaryPropertyList.cpp: Renamed from Source/WebCore/platform/cf/BinaryPropertyList.cpp.
  • History/BinaryPropertyList.h: Renamed from Source/WebCore/platform/cf/BinaryPropertyList.h.
  • History/HistoryPropertyList.cpp: Renamed from Source/WebCore/history/cf/HistoryPropertyList.cpp.
  • History/HistoryPropertyList.h: Renamed from Source/WebCore/history/cf/HistoryPropertyList.h.
  • History/WebHistory.mm:
4:15 PM Changeset in webkit [150664] by Christophe Dumez
  • 10 edits
    3 adds in trunk

Global constructors exposed in worker environment have wrong attributes
https://bugs.webkit.org/show_bug.cgi?id=116708

Reviewed by Geoffrey Garen.

Source/WebCore:

Fix JSC bindings generator so that Global constructors exposed in worker environment
have the following attributes:
{ Writable?: true, Enumerable?: false, Configurable?: true }

This is now consistent with global constructors on DOMWindow and with the Web IDL
specification:
http://dev.w3.org/2006/webapi/WebIDL/#es-interfaces

Test: fast/js/global-constructors-attributes-worker.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributesHashTable):

LayoutTests:

Add fast/js/global-constructors-attributes-worker.html test case to check the
global constructors attributers in the worker environment.

  • fast/js/global-constructors-attributes-expected.txt:
  • fast/js/global-constructors-attributes-worker-expected.txt: Added.
  • fast/js/global-constructors-attributes-worker.html: Added.
  • fast/js/global-constructors-attributes.html:
  • fast/js/script-tests/global-constructors-attributes.js: Make sure script usable

in a Worker and stop reporting the "constructor" property as a global constructor.

  • platform/efl/fast/js/global-constructors-attributes-expected.txt:
  • platform/efl/fast/js/global-constructors-attributes-worker-expected.txt: Added.
  • platform/gtk/fast/js/global-constructors-attributes-expected.txt:
  • platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
  • platform/qt/fast/js/global-constructors-attributes-expected.txt:
3:57 PM Changeset in webkit [150663] by Christophe Dumez
  • 34 edits
    1 delete in trunk

Remove custom code for webkitAudioContext global constructor getter
https://bugs.webkit.org/show_bug.cgi?id=116530

Reviewed by Geoffrey Garen.

Source/WebCore:

Get rid of custom code for webkitAudioContext global constructor getter. The
global DOMWindow attribute is now automatically generated by leveraging support
for [EnabledAtRuntime] extended attribute and the existing methods in
RuntimeEnabledFeatures class.

No new tests, no behavior change.

  • GNUmakefile.list.am: Remove JSDOMWindowWebAudioCustom.*.
  • Modules/webaudio/AudioContext.idl:

Remove [NoInterfaceObject] extended attribute so that the global constructor is
automatically generated instead of automatically added. Add [EnabledAtRuntime]
extended attribute since this global constructor can be disabled at runtime and
so that we can getter rid of the [CustomGetter] for the corresponding global
constructor. Use [InterfaceName] extended attribute so that the interface name
matches the global constructor on DOMWindow (webkitAudioContext).

  • Target.pri: Remove JSDOMWindowWebAudioCustom.*.
  • UseJSC.cmake: Remove JSDOMWindowWebAudioCustom.*.
  • WebCore.exp.in: Export additional symbol.
  • WebCore.order: Export additional symbol.
  • WebCore.vcproj/WebCore.vcproj: Remove JSDOMWindowWebAudioCustom.*.
  • WebCore.vcxproj/WebCore.vcxproj: Remove JSDOMWindowWebAudioCustom.*.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Remove JSDOMWindowWebAudioCustom.*.
  • WebCore.xcodeproj/project.pbxproj: Remove JSDOMWindowWebAudioCustom.*.
  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebAudioEnabled):

  • bindings/js/JSBindingsAllInOne.cpp: Remove JSDOMWindowWebAudioCustom.*.
  • bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed. We no longer need any custom code for

the WebAudio global constructor getter because we use [EnabledAtRuntime] support in the
bindings generator now.

  • page/DOMWindow.idl: Remove global constructor for AudioContext as it is now automatically

generated.

  • page/Settings.in: Remove webAudioEnabled setting as we use the existing setting

in RuntimeEnabledFeatures now.

Source/WebKit/efl:

Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setWebAudioEnabled):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:
  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_ewk_view_priv_new):

  • ewk/ewk_view.h: Remove public API to toggle Web Audio support as it is no longer

a view specific feature.

Source/WebKit/gtk:

Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.

  • webkit/webkitwebview.cpp:

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit/mac:

Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.

  • Api/qwebsettings.cpp:

(QWebSettingsPrivate::apply):

Source/WebKit/win:

Use RuntimeEnabledFeatures instead of Settings to toggle Web Audio support.

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Update EFL's DumpRenderTree to use DumpRenderTreeSupport to toggle
WebAudio feature instead of public ewk_view API since that API was
removed.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::overridePreference):

3:49 PM WebKit Team edited by Bem Jones-Bey
Update to point to new location. (diff)
3:34 PM Changeset in webkit [150662] by commit-queue@webkit.org
  • 4 edits in trunk

Make team.html have each contributor's area of expertise
https://bugs.webkit.org/show_bug.cgi?id=116737

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2013-05-24
Reviewed by Benjamin Poulain.

Tools:

  • Scripts/webkitpy/common/config/contributors.json:

Add expertise to each contributor, taken from http://trac.webkit.org/wiki/WebKit%20Team

Changed formatting of the file because the lines are getting way to
long, and I generated this, so it's easier if the formatting of the
file is regular.

Websites/webkit.org:

  • team.html:

Update to use the new expertise field in contributors.json.

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

fourthTier: FTL boolify should support ObjectOrOtherUse
https://bugs.webkit.org/show_bug.cgi?id=116741

Reviewed by Geoffrey Garen.

Just reusing what was already there in equalNullOrUndefined(). Note that we will
sometimes generate some redundant IR - like having some spurious bitNot's in
places - but it's safe to assume that LLVM will simplify those, and that it won't
be the longest pole in the tent for compile times.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEqConstant):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):

3:05 PM Changeset in webkit [150660] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit/win

Remove unused code to read/write history
https://bugs.webkit.org/show_bug.cgi?id=116738

Reviewed by Brent Fulgham.

  • Interfaces/IWebHistory.idl:

Replace loadFromURL and saveToURL with unused1/unused2.

  • Interfaces/IWebHistoryPrivate.idl:

Replace data with unused1.

  • WebHistory.cpp:

Remove history loading/saving code.

(WebHistory::unused1):
(WebHistory::unused2):
Add implementations.

  • WebHistory.h:

(WebHistory):

3:00 PM Changeset in webkit [150659] by fpizlo@apple.com
  • 7 edits
    3 adds in trunk

We broke !(0/0)
https://bugs.webkit.org/show_bug.cgi?id=116736

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createLogicalNot):

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::pureToBoolean):

Source/WTF:

  • wtf/MathExtras.h:

(isNotZeroAndOrdered):
(isZeroOrUnordered):

LayoutTests:

  • fast/js/constant-fold-not-nan.html: Added.
  • fast/js/constant-fold-not-nan-expected.txt: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/constant-fold-not-nan.js: Added.
2:45 PM Changeset in webkit [150658] by fpizlo@apple.com
  • 4 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: FTL should support LogicalNot and Branch on Int32 and Number
https://bugs.webkit.org/show_bug.cgi?id=116739

Reviewed by Gavin Barraclough.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileLogicalNot):
(JSC::FTL::LowerDFGToLLVM::compileBranch):
(JSC::FTL::LowerDFGToLLVM::boolify):
(LowerDFGToLLVM):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::isZero32):
(JSC::FTL::Output::notZero32):

2:06 PM Changeset in webkit [150657] by fpizlo@apple.com
  • 11 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: add heuristics to reduce the likelihood of a trivially inlineable function being independently compiled by the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=116557

Reviewed by Geoffrey Garen.

This introduces a fairly comprehensive mechanism for preventing trivially inlineable
functions from being compiled independently of all of the things into which they end
up being inlined.

The trick is CodeBlock::m_shouldAlwaysBeInlined, or SABI for short (that's what the
debug logging calls it). A SABI function is one that we currently believe should
never be DFG optimized because it should always be inlined into the functions that
call it. SABI follows "innocent until proven guilty": all functions start out SABI
and have SABI set to false if we see proof that that function may be called in some
possibly non-inlineable way. So long as a function is SABI, it will not tier up to
the DFG: cti_optimize will perpetually postpone its optimization. Because SABI has
such a severe effect, we make the burden of proof of guilt quite low. SABI gets
cleared if any of the following happen:

  • You get called from native code (either through CallData or CachedCall).


  • You get called from an eval, since eval code takes a long time to get DFG optimized.


  • You get called from global code, since often global code doesn't tier-up since it's run-once.


  • You get called recursively, where recursion is detected by a stack walk of depth Options::maximumInliningDepth().


  • You get called through an unlinked virtual call.


  • You get called from DFG code, since if the caller was already DFG optimized and didn't inline you then obviously, you might not get inlined.


  • You've tiered up to the baseline JIT and you get called from the interpreter. The idea here is that this kind of ensures that you stay SABI only if you're called no more frequently than any of your callers.


  • You get called from a code block that isn't a DFG candidate.


  • You aren't an inlining candidate.


Most of the heuristics for SABI are in CodeBlock::noticeIncomingCall().

This is neutral on SunSpider and V8Spider, and appears to be a slight speed-up on
V8v7, which was previously adversely affected by concurrent compilation. I also
confirmed that for example on V8/richards, it dramatically reduces the number of
code blocks that get DFG compiled. It is a speed-up on those V8v7 benchmarks that
saw regressions from concurrent compilation.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::linkIncomingCall):
(JSC):
(JSC::CodeBlock::noticeIncomingCall):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::mightInlineFunction):
(DFG):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::dfgLinkFor):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):
(JSC::JIT::linkFor):

  • jit/JIT.h:

(JIT):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

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

[AC] Needs to be guarded by USE(ACCELERATED_COMPOSITING)
https://bugs.webkit.org/show_bug.cgi?id=116712

Patch by Seokju Kwon <Seokju Kwon> on 2013-05-24
Reviewed by Andreas Kling.

renderView is used when ACCELERATED_COMPOSITING is enabled.
So, this patch allows it to be guarded by USE(ACCELERATED_COMPOSITING).

No new tests, no behavior change.

  • page/FrameView.cpp:

(WebCore::FrameView::setFrameRect):

1:07 PM Changeset in webkit [150655] by sergio@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION (r150215): broke a test case in inspector/console/console-css-warnings.html
https://bugs.webkit.org/show_bug.cgi?id=116731

Reviewed by Ryosuke Niwa.

The mentioned revision removed a layering violation added just to
support some IE7 hack. That was removed but the test case
supporting it was left untouched, remove it.

  • inspector/console/console-css-warnings-expected.txt:
  • inspector/console/console-css-warnings.html:
12:43 PM Changeset in webkit [150654] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

[WK2] Spelling tests gardening
https://bugs.webkit.org/show_bug.cgi?id=116718

Unreviewed gardening.

The most spelling tests are skipped for wk2 platforms and they have deprecated comments.
Move the tests from global wk2/TestExpectations to the ports' TestExpectations as
the core spellchecking implementation is delivered for wk2.
This change will allow to run spelling tests easier and using [ Pass ] keyword
in TestExpectations won't be needed.

  • platform/efl-wk2/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/qt-5.0-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
12:41 PM Changeset in webkit [150653] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Add more lines to the context during Dictionary lookups
https://bugs.webkit.org/show_bug.cgi?id=115256

Patch by Thomas Deniau <deniau@apple.com> on 2013-05-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

No new tests - no new functionality.

  • WebCore.exp.in: Export a few methods in VisibleUnits needed to be able

to call previousLinePosition(), nextLinePosition(), startOfLine() and
endOfLine() in WebPageMac.mm when determining the context while looking
up a dictionary definition. These symbols used to be exported for iOS
only, export them on the desktop too.

Source/WebKit2:

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation):
Instead of using the current paragraph as the context (which stops at
line breaks), get a few lines before and after the point, so that the
context contains at least four lines in each direction.
This way the Dictionary will be able to look up things that extend past
the current line.

12:07 PM Changeset in webkit [150652] by andersca@apple.com
  • 18 edits
    17 deletes in trunk

Remove PagePopup code
https://bugs.webkit.org/show_bug.cgi?id=116732

Reviewed by Andreas Kling.

.:

  • Source/cmakeconfig.h.cmake:

Remove ENABLE_PAGE_POPUP.

Source/WebCore:

Remove all page popup code.

  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ContextFeatures.cpp:
  • dom/ContextFeatures.h:
  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/DOMWindowPagePopup.cpp: Removed.
  • page/DOMWindowPagePopup.h: Removed.
  • page/DOMWindowPagePopup.idl: Removed.
  • page/PagePopup.h: Removed.
  • page/PagePopupClient.cpp: Removed.
  • page/PagePopupClient.h: Removed.
  • page/PagePopupController.cpp: Removed.
  • page/PagePopupController.h: Removed.
  • page/PagePopupController.idl: Removed.
  • page/PagePopupDriver.h: Removed.
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore):

  • testing/Internals.h:

(WebCore):
(Internals):

  • testing/Internals.idl:
  • testing/MockPagePopupDriver.cpp: Removed.
  • testing/MockPagePopupDriver.h: Removed.

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Remove PAGE_POPUP.

Source/WTF:

Remove ENABLE_PAGE_POPUP.

  • wtf/FeatureDefines.h:

LayoutTests:

Remove tests that relied on the mock page popup driver.

  • fast/forms/date/no-page-popup-controller-expected.txt: Removed.
  • fast/forms/date/no-page-popup-controller.html: Removed.
  • fast/forms/resources/picker-common.js: Removed.
  • fast/forms/time-multiple-fields/time-multiple-fields-open-picker-key-bindings-expected.txt: Removed.
  • fast/forms/time-multiple-fields/time-multiple-fields-open-picker-key-bindings.html: Removed.
11:54 AM Changeset in webkit [150651] by jer.noble@apple.com
  • 13 edits
    3 copies
    1 add in trunk/Source

Mac: Set the default audio buffer size to a large value for <video> elements.
https://bugs.webkit.org/show_bug.cgi?id=116342

Source/WebCore:

Reviewed by Eric Carlson.
Roll-in rubber stamped by Eric Carlson.

To enable power savings by waking up the audio hardware less often, set the
requested buffer frame size to a large value, such as 4096. Since this results
in approximately 100ms worth of buffer, set the buffer size to a much lower
value when playing WebAudio, which is much more sensitive to latency than video
or audio elements.

Introduce a new class, AudioSessionManager, as well as a helper class,
AudioSessionManagerToken. Audio elements, video elements, and WebAudio destination
nodes will create and retain a token, and release the token in their destructor.
This allows the AudioSessionManager to track how many of what type of audio-
generating objects are in existence.

This requires implementing AudioSession for Mac platforms. Move the implementation
for retrieving the hardware sample rate and setting the buffer duration into
AudioSessionMac from AudioDestinationMac, to be shared with AudioSessionManagerMac.

Change the AudioSession method preferredBufferLength() into preferredBufferSize(),
as the callers really want to specify a buffer size, not a buffer duration. On iOS,
where the available API requires a duration, perform the conversion from duration to
size on behalf of the caller.

However, since the original version of this patch caused media test
failures on the Mac ML and Lion bots, only enable the buffer size
change for OS X > ML.

  • html/HTMLMediaElement.h: Add a AudioSessionManagerToken member.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the token.

  • platform/audio/AudioSession.cpp:

(WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
(WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength.

  • platform/audio/AudioSession.h:
  • platform/audio/AudioSessionManager.cpp:

(AudioSessionManagerToken::create): Simple factory method.
(AudioSessionManagerToken::AudioSessionManagerToken): Call AudioSessionManager::incrementCount().
(AudioSessionManagerToken::~AudioSessionManagerToken): Call AudioSessionManager::decrementCount().
(AudioSessionManager::sharedManager): Simple singleton method.
(AudioSessionManager::AudioSessionManager): Simple constructor.
(AudioSessionManager::has): Return whether the type is present.
(AudioSessionManager::incrementCount): Increment, then call updateSessionState()
(AudioSessionManager::decrementCount): Decrement, then call updateSessionState()
(AudioSessionManager::updateSessionState): Stub, does nothing.

  • platform/audio/AudioSessionManager.h:
  • platform/audio/ios/AudioDestinationIOS.cpp:

(WebCore::AudioDestinationIOS::configure): Call setPreferredBufferSize() instead of setPreferredBufferLength()

  • platform/audio/ios/AudioSessionIOS.mm:

(WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
(WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength

  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestination::hardwareSampleRate): Call AudioSession::sampleRate().
(WebCore::AudioDestinationMac::AudioDestinationMac): Create the AudioSessionManagerToken.
(WebCore::AudioDestinationMac::configure): Do not set the buffer size (this is done in AudioSessionManagerMac).

  • platform/audio/mac/AudioDestinationMac.h:
  • platform/audio/mac/AudioSessionMac.cpp: Added.

(WebCore::defaultDevice): Added, returns the default audio device.
(WebCore::AudioSession::AudioSession): Simple constructor.
(WebCore::AudioSession::~AudioSession): Simple destructor.
(WebCore::AudioSession::category): Stub, unimplemented.
(WebCore::AudioSession::setCategory): Ditto.
(WebCore::AudioSession::categoryOverride): Ditto.
(WebCore::AudioSession::setCategoryOverride): Ditto.
(WebCore::AudioSession::numberOfOutputChannels): Ditto.
(WebCore::AudioSession::setActive): Ditto.
(WebCore::AudioSession::sampleRate): Use the HAL to return the default audio device sample rate.
(WebCore::AudioSession::preferredBufferSize): Return the current HAL setting.
(WebCore::AudioSession::setPreferredBufferSize): Set the buffer size.

  • platform/audio/mac/AudioSessionManagerMac.cpp:

(AudioSessionManager::updateSessionState): Set the buffer size depending on what audio outputs are present.

  • WebCore.xcodeproj/project.pbxproj: Add the new files to the project.

Source/WTF:

Reviewed by Eric Carlson.

  • wtf/Platform.h: Add a WTF_USE_AUDIO_SESSION setting.
11:46 AM Changeset in webkit [150650] by Lucas Forschler
  • 2 edits in branches/safari-537.43-branch/Source/WebCore

Merged r150631. <rdar://problem/13963712>

11:42 AM Changeset in webkit [150649] by Lucas Forschler
  • 7 edits in branches/safari-537.43-branch/Source/WebKit2

Merged r150620. <rdar://problem/13938510>

11:09 AM Changeset in webkit [150648] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Intermittent crash when typing in Address Bar
https://bugs.webkit.org/show_bug.cgi?id=116728
<rdar://problem/13976781>

Reviewed by Sam Weinig.

If a web process connection has been removed from the storage manager because we disconnected it
since there were no more active pages associated with the web process, we'll fail to find it here
so just return early instead of crashing.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::destroyStorageMap):

11:01 AM Changeset in webkit [150647] by Lucas Forschler
  • 4 edits in branches/safari-537.43-branch/Source

Versioning.

10:28 AM Changeset in webkit [150646] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Path: upstream the missing bits from the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=116658

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-05-24
Reviewed by Xan Lopez.

PathBlackBerry was upstreamed a while ago (r144612) but a few bits
were missing from the cross-platform code.

  • platform/graphics/Path.cpp:

(WebCore::Path::addPathForRoundedRect):

  • platform/graphics/Path.h:

(Graphics):
(Path):

10:16 AM Changeset in webkit [150645] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Improve loader/go-back-cached-main-resource.html test
https://bugs.webkit.org/show_bug.cgi?id=116709

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-05-24
Reviewed by Alexey Proskuryakov.

It is only needed to register the listeners on the initial load as they
are already present when restoring from page cache. Modified the test to
use event.persisted property to know if we are handling the first load
in order to register the listeners only once.

  • loader/resources/first-page.html: Rename registerListeners() function

to a more accurate name didShowPage() and use event.persisted to
register the listeners only in the first load.

  • loader/resources/other-page.html: Ditto.
9:50 AM WebKit Team edited by kbalazs@webkit.org
(diff)
9:46 AM Changeset in webkit [150644] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[sh4] Optimize LLINT generated code and fix few bugs in baseline JIT.
https://bugs.webkit.org/show_bug.cgi?id=116716

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-05-24
Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::mul32): Cosmetic changes.
(JSC::MacroAssemblerSH4::convertInt32ToDouble): Absolute address was not dereferenced.
(JSC::MacroAssemblerSH4::branch32): Absolute address was not dereferenced.
(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch): Use all 32 bits of pointer for revertJump call.

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::revertJump): Use changePCrelativeAddress to patch the whole pointer.
(JSC::SH4Assembler::linkJump): Cosmetic change.

  • offlineasm/sh4.rb: Optimize LLINT generated code.
9:34 AM Changeset in webkit [150643] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

WebProcess is crashing on http://achicu.github.io/css-presentation when direct pattern compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=115135

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-05-24
Reviewed by Antti Koivisto.

Source/WebCore:

Issue is invoked when there is a visibility:hidden layer with a non-compositable
background image (e.g. a radial gradient).
The layer is treated as a no-contents layer because of its visibility, however
updateDirectlyCompositedBackgroundImage() later mistakenly treats it as a layer
with direct background-image compositing.

Fixed by returning early from updating directly composited contents for layers
with hidden contents.

Test: compositing/patterns/direct-pattern-compositing-hidden-radial-gradient.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::paintsChildren):
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):

LayoutTests:

Added a ref-test that makes sure that a layer with a hidden radial gradient does not
cause the web process to crash.

  • compositing/patterns/direct-pattern-compositing-hidden-radial-gradient-expected.html: Added.
  • compositing/patterns/direct-pattern-compositing-hidden-radial-gradient.html: Added.
9:18 AM Changeset in webkit [150642] by robert@webkit.org
  • 2 edits in trunk/Source/WebCore

Refactor shouldAddBorderPaddingMargin()
https://bugs.webkit.org/show_bug.cgi?id=98803

Reviewed by Ryosuke Niwa.

Make this helper function less clever-stupid in its misguided sacrifice of intelligibility
for the sake of concision.

No new tests, refactoring.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::shouldAddBorderPaddingMargin):
(WebCore::inlineLogicalWidth):

8:51 AM Changeset in webkit [150641] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix bad type warning in InputHandler log.
https://bugs.webkit.org/show_bug.cgi?id=116720

Reviewed by Carlos Garcia Campos.

Fix warning in inputLog string.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::handleKeyboardInput):

7:48 AM Changeset in webkit [150640] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Update WTF::Vector pretty printers
https://bugs.webkit.org/show_bug.cgi?id=116719

Patch by Simon Pena <simon.pena@samsung.com> on 2013-05-24
Reviewed by Anders Carlsson.

After r148891, WTF::Vector pretty printers were left outdated, as
the WTF::Vector was made to extend a VectorBuffer, instead of keeping
one as a member. This patch updates the pretty printers so they work
again.

  • gdb/webkit.py:

(WTFVectorPrinter.children):
(WTFVectorPrinter.to_string):

7:20 AM Changeset in webkit [150639] by zarvai@inf.u-szeged.hu
  • 14 edits
    13 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Update qt-5.0-wk2 expected pictures after r150506.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-05-24

  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
  • platform/qt-5.0-wk2/svg/filters/feImage-animated-transform-on-target-rect-expected.png:
  • platform/qt-5.0-wk2/svg/filters/feImage-late-indirect-update-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-reference-invalidation-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-add-to-document-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-attribute-change-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-changes-id-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-id-change-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-inline-style-change-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-property-change-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-reappend-to-document-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-remove-from-document-expected.png: Added.
  • platform/qt-5.0-wk2/svg/filters/feImage-target-style-change-expected.png: Added.
6:25 AM Changeset in webkit [150638] by kadam@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing tests.

  • platform/qt-5.0-wk2/TestExpectations: Move http/tests/security/cross-frame-access-put.html to qt/TestExpectations.
  • platform/qt/TestExpectations: Skip fast/frames/detach-frame-during-focus.html after r146523.
5:47 AM Changeset in webkit [150637] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Respect tabindex when using form controls.
https://bugs.webkit.org/show_bug.cgi?id=116676

Reviewed by Xan Lopez.

PR 337419.

Update form control navigation tracking to take tabindex
order into account when calculating next and previous nodes.

The order to follow is tab index 1 - N, followed by all items
without a tab index or tab index 0 in rendering order to match
with standard desktop behavior.

Internally Reviewed by Genevieve Mak and Nima Ghanavatian.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState):

5:23 AM WebKitGTK/TrackingMemoryErrors edited by kbalazs@webkit.org
(diff)
1:41 AM Changeset in webkit [150636] by sfalken@apple.com
  • 2 edits in trunk/Tools

Update prepareConsistentTestingEnvironment to use a non-deprecated API.
https://bugs.webkit.org/show_bug.cgi?id=116710

Reviewed by Mark Rowe.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(prepareConsistentTestingEnvironment): Use beginActivityWithOptions instead of beginSuspensionOfSystemBehaviors.

1:05 AM Changeset in webkit [150635] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[BlackBerry] DRT - crashed on GraphicsContext3D::makeContextCurrent
https://bugs.webkit.org/show_bug.cgi?id=116654

Patch by Xiaobo Wang <xiaobwang@blackberry.com> on 2013-05-24
Reviewed by Carlos Garcia Campos.

PR 331552.
Internally reviewed and amended by Arvid Nilsson.

No new tests, this patch is to fix DRT crashes in fast/canvas/webgl.
The instance of GraphicsContext3D has already been destroyed but
WebGLLayerWebKitThread is not aware of that. This is because compositor
layer of the WebGL graphics context was referenced outside the context.
So when destructing GraphicsContext3D the compositing layer was not
destructed.
Fix by setting m_webGLContext to 0 when destructing GrapthicsContext3D
after releasing the compositor layer, so that it won't be de-referenced
again later.

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):

  • platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:

(WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
(WebCore::WebGLLayerWebKitThread::webGLContextDestroyed):
(WebCore):

  • platform/graphics/blackberry/WebGLLayerWebKitThread.h:

(WebGLLayerWebKitThread):

12:32 AM Changeset in webkit [150634] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove SKIA leftovers from WebPage.cpp
https://bugs.webkit.org/show_bug.cgi?id=116656

Patch by Jeff Rogers <jrogers@rim.com> on 2013-05-24
Reviewed by Rob Buis.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setLoadState):

12:12 AM Changeset in webkit [150633] by akling@apple.com
  • 6 edits in trunk/Source

Typing in Safari's unified field causes unnecessary web content repaints.
<http://webkit.org/b/116703>

Reviewed by Andy Estes.

Source/WebCore:

Break out an alternate version of Page::markAllMatchesForText() that only counts the number of times
a string occurs in the page, but doesn't try to mark the occurrences.
This allows Safari to count matches for the 'Find "foo" on This Page' functionality in the unified
location bar without causing tile repaints.

  • WebCore.exp.in:
  • page/Page.h:
  • page/Page.cpp:

(WebCore::Page::findMatchesForText):
(WebCore::Page::markAllMatchesForText):
(WebCore::Page::countFindMatches):

Renamed markAllMatchesForText() to findMatchesForText() and gave it a boolean parameter to control whether
matches should be marked or not. countFindMatches() is the new helper that doesn't mark.

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::countStringMatches):

Call WebCore::Page::countMatchesForText() instead of markAllMatchesForText(). If the search string
is found inside the page content, the renderer containing that text will no longer be repainted.

12:05 AM Changeset in webkit [150632] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Add back a failing test expectation on fast/canvas/webgl/object-deletion-behaviour.html
after r150558 on Lion Debug WK1.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:02 AM Changeset in webkit [150631] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=116702
REGRESSION (r150399): Scrollbar missing for all overflow scroll
-and corresponding-
<rdar://problem/13963712>

Reviewed by Simon Fraser.

This was a silly copy-paste error.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollbarAnimationsAreSuppressed):

Note: See TracTimeline for information about the timeline view.