Timeline



Dec 1, 2012:

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

PDFPlugin: Support PDF form editing in <iframe>s
https://bugs.webkit.org/show_bug.cgi?id=103287
<rdar://problem/10326917>

Reviewed by Dan Bernstein.

PDFPlugin form editing depends on having a Document that has the same
size and position as the plugin; this is true not only in the full-main-frame
case, but also in the <iframe> case. Therefore, we can enable form editing
for <iframe> PDFPlugins.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::supportsForms): Support form editing whenever
our Document's widget is our PluginView (which will only be true in the
full-main-frame or <iframe> case).

11:51 PM Changeset in webkit [136316] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFPlugin: <embed> and <object> PDFs affect their parent frame's page scale
https://bugs.webkit.org/show_bug.cgi?id=103286
<rdar://problem/12752315>

Reviewed by Dan Bernstein.

Detecting whether or not a PDFPlugin is a full-page plugin or not is not
as simple as checking isMainFrame(), because <embed> and <object> will
cause PDFPlugin to live in the main frame, while still not being full-page.
We also have to check that the main frame's document is a PluginDocument,
and whether that PluginDocument's PluginWidget is our PDFPlugin's PluginView.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add isFullFramePlugin.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::isFullFramePlugin): Check whether the main frame is
backed by a PluginDocument, and that that PluginDocument corresponds
to this PDFPlugin.
(WebKit::PDFPlugin::handlesPageScaleFactor): Use isFullFramePlugin.
(WebKit::PDFPlugin::supportsForms): Use isFullFramePlugin.

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

[wk2] Use spoolRect instead of snapshots for print preview
https://bugs.webkit.org/show_bug.cgi?id=103798
<rdar://problem/12686749>

Reviewed by Sam Weinig.

Revert to using spoolRect instead of snapshotting for printing; this was a bogus
change I made in http://trac.webkit.org/changeset/133935 which was irrelevant to
the core of that change, and incorrectly disregards the Frame parameter passed to
beginPrinting, instead using the WebPage's current Frame.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::drawRectToImage):

11:06 PM Changeset in webkit [136314] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

[XvfbDriver] XvfbDriverTest.test_next_free_display is flaky on builders using XvfbDriver
https://bugs.webkit.org/show_bug.cgi?id=103806

Reviewed by Dirk Pranke.

There are occasional mishaps on builders where XvfbDriver doesn't properly
clean up the Xvfb instance it was managing so the related guard lock files
are still existing when the webkitpy unit tests are run. This can cause failures
in XvfbDriverTest.test_next_free_display as the test tries to acquire displays
with a specific number but is unable to due to the stale locks.

The solution to this is to use MockFileLock when inside unit test. This is achievable
by creating a file lock through the SystemHost instance connected to the Port object,
the latter available to the Driver.

  • Scripts/webkitpy/common/system/file_lock_mock.py:

(MockFileLock.acquire_lock): Return True to signal lock acquiring succeeded.
(MockFileLock.release_lock): Return True to signal lock releasing succeeded.

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py:

(XvfbDriver._next_free_display): Create the file lock through a mockable way.

  • Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:

(XvfbDriverTest.test_next_free_display): Enable back the unit test.

10:35 PM WebInspector edited by mousewiki@yahoo.com
(diff)
4:31 PM Changeset in webkit [136313] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r136015.
http://trac.webkit.org/changeset/136015
https://bugs.webkit.org/show_bug.cgi?id=103821

Did not heal performance bot and caused other performance
regressions (Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-12-01

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

2:34 PM EFLWebKit edited by laszlo.gombos@gmail.com
fix the spelling for cmakeargs - see … (diff)
1:33 PM Changeset in webkit [136312] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening. Skipping crashing tests.

The DEPS roll containing r170422 is causing three crashes cross-platform
in the Chromium port. Skipping them here, filed crbug.com/163785 to fix.

  • platform/chromium/TestExpectations:

Marked media/encrypted-media/encrypted-media-events.html,
media/encrypted-media/encrypted-media-not-loaded.html, and
media/encrypted-media/encrypted-media-syntax.html as crashing.

12:00 PM Changeset in webkit [136311] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening. Skipping calendar-picker-datetime-with-step.html.

It looks like platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html
started failing at midnight PST, December 1st. I don't think it handled
the month change correctly. Filed https://bugs.webkit.org/show_bug.cgi?id=103817
to cover the fix.

  • platform/chromium/TestExpectations:
10:43 AM Changeset in webkit [136310] by kov@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-1.10/Source

Merge 133059 - Enable webkit2 introspection
https://bugs.webkit.org/show_bug.cgi?id=94313

Patch by Jesse van den Kieboom <jessevdk@gnome.org> on 2012-10-31
Reviewed by Martin Robinson.

This patch enables generation of introspection information for webkit2
in the same was as it is done for webkit. The resulting gir and
typelib file are named WebKit2-3.0.{gir,typelib}.

  • GNUmakefile.am:
  • UIProcess/API/gtk/WebKitBackForwardList.cpp:
4:39 AM Changeset in webkit [136309] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

DRT - crashed in WebCore::SearchFieldCancelButtonElement::defaultEventHandler
https://bugs.webkit.org/show_bug.cgi?id=103592

Patch by Xiaobo Wang <xiaobo.wang@torchmobile.com.cn> on 2012-12-01
Reviewed by Kent Tamura.

The crash happened when the search field cancel button handles mouseout
event after the search input was detached. When it happens the input
element returned from shadowHost() is null, need to check the pointer
before dereferencing.
InputFieldSpeechButton and SearchFieldResultsButtonElement have the
similar issue.

No new tests. The patch fixes the following test on BlackBerry platform.
Test: fast/forms/search-delete-while-cancel-button-clicked.html

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
(WebCore::InputFieldSpeechButtonElement::setRecognitionResult):

3:09 AM Changeset in webkit [136308] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[GTK] A11y tests in WK2 report badly-formatted AX roles
https://bugs.webkit.org/show_bug.cgi?id=102947

Reviewed by Xan Lopez.

As in DRT, convert the ATK accessibility roles to corresponding AXRoles.
These are expected in both tests and their baselines.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::roleToString):
(WTR):
(WTR::AccessibilityUIElement::role):

12:33 AM Changeset in webkit [136307] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[gtk] Unreviewed gardening. Skipping CSP 1.1 tests.

The CSP 1.1 tests are failing under GTK after r136305 made the CSP_NEXT
flag runtime enabled. Will fix in webkit.org/b/103810, skipping for now.

  • platform/gtk/TestExpectations:

Skipping CSP 1.1 tests.

Nov 30, 2012:

11:09 PM Changeset in webkit [136306] by rniwa@webkit.org
  • 2 edits
    1 move in trunk/LayoutTests

Shorten a file name as the test renamed in r136122 is still hosing Chromium Win perf. bot.

  • http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Renamed.
  • http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Removed.
  • http/tests/inspector/network/script-as-text-loading-long-url.html:
10:53 PM Changeset in webkit [136305] by mkwst@chromium.org
  • 11 edits in trunk

CSP 1.1: Make the CSP_NEXT flag runtime enabled.
https://bugs.webkit.org/show_bug.cgi?id=103652

Reviewed by Adam Barth.

Source/WebCore:

Content Security Policy 1.1 continues to live behind the CSP_NEXT flag,
this patch adds another layer on top of that in order to enable runtime
decisions about whether it should be active.

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::experimentalContentSecurityPolicyFeaturesEnabled):
(WebCore::RuntimeEnabledFeatures::setExperimentalContentSecurityPolicyFeaturesEnabled):

Adds methods in order to correctly handle enabling and disabling
CSP 1.1 features.

  • dom/Document.idl:

Gate the 'document.securityPolicy' object on the runtime flag.

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::addDirective):

Check that experimental features are runtime enabled before
processing 1.1 directives.

(WebCore::ContentSecurityPolicy::experimentalFeaturesEnabled):
(WebCore):

  • page/ContentSecurityPolicy.h:

Adds a new method which checks against the runtime flag to determine
whether CSP 1.1 features are enabled.

Source/WebKit/chromium:

The CSP_NEXT flag continues to be enabled on the Chromium port, but this
patch now locks the features away behind the securityPolicy runtime
flag.

  • public/WebRuntimeFeatures.h:

(WebRuntimeFeatures):

  • src/WebRuntimeFeatures.cpp:

(WebKit::WebRuntimeFeatures::enableExperimentalContentSecurityPolicyFeatures):
(WebKit):
(WebKit::WebRuntimeFeatures::isExperimentalContentSecurityPolicyFeaturesEnabled):

Adds the feature to WebRuntimeFeatures so it can be toggled from
inside Chromium.

Tools:

Ensures that the new SecurityPolicy runtime flag is enabled for Chromium's tests.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

10:18 PM Changeset in webkit [136304] by ryuan.choi@samsung.com
  • 2 edits in trunk/LayoutTests

[EFL][WK1] Gardening test cases which are not crashed after r135662
https://bugs.webkit.org/show_bug.cgi?id=103803

Unreviewed, EFL gardening.

Patch by Sujin Park <sujjin.park@gmail.com> on 2012-11-30

  • platform/efl-wk1/TestExpectations:
10:12 PM Changeset in webkit [136303] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid calling into NSUserDefaults every time we start a scroll
https://bugs.webkit.org/show_bug.cgi?id=103804

Reviewed by Dan Bernstein.

Cache the NSScrollAnimationEnabled preference to avoid
hitting NSUserDefaults every time we start scrolling.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::scrollAnimationEnabledForSystem):

6:24 PM Changeset in webkit [136302] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Always listen for the DidFirstLayout layout milestone
https://bugs.webkit.org/show_bug.cgi?id=103795
<rdar://problem/12790268>

Reviewed by Dan Bernstein.

The DidFirstLayout layout milestone is used to determine when to unfreeze the layer tree, so we always want to listen for it.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

5:40 PM Changeset in webkit [136301] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Removed temporary debugging change from DRT (r136300).

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dump):

5:23 PM Changeset in webkit [136300] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Temporary change to DRT for debugging purposes.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(dump):

5:19 PM Changeset in webkit [136299] by pierre.rossi@gmail.com
  • 4 edits in trunk/Source

[Qt] Unreviewed speculative Mac build fix after r136232

Source/JavaScriptCore:

Update the include path so that LLIntAssembly.h is picked up.
The bot didn't break until later when a clean build was triggered.

Source/WebKit2:

cleanup an oversight from r136235

  • PluginProcess.pro: s/webkit/webkitwidgets/
4:53 PM Changeset in webkit [136298] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=103790
The LayerPool m_pruneTimer should have a longer delay

Reviewed by Simon Fraser.

A 1 second delay is more appropriate here.

  • platform/graphics/ca/mac/LayerPool.mm:

(WebCore::LayerPool::schedulePrune):

4:50 PM Changeset in webkit [136297] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Optimise more cases of op_typeof
https://bugs.webkit.org/show_bug.cgi?id=103783

Reviewed by Mark Hahnenberg.

Increase our coverage of typeof based typechecks by
making sure that the codegenerators always uses
consistent operand ordering when feeding typeof operations
into equality operations.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):

4:43 PM Changeset in webkit [136296] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed Windows build fix.

Add a default: entry to an case statement to fix a build error when compiled in VS2005.

  • html/MediaController.cpp:

(MediaController::playbackState):

4:13 PM Changeset in webkit [136295] by jer.noble@apple.com
  • 7 edits
    1 copy
    1 add in trunk

Add support for the 'unpause()' method on MediaController.
https://bugs.webkit.org/show_bug.cgi?id=103751

Reviewed by Eric Carlson.

Source/WebCore:

The MediaController spec has been updated to add an unpause() method
which is functionally identical to the old play() method, and changes
the semantics of play() to call play() on the underlying slaved media
elements. The spec also added a playbackState() method, returning a
string representing the last calculated playback state.

Test: media/media-controller-unpause.html

  • html/MediaController.cpp:

(MediaController::unpause): Renamed from play().
(MediaController::play): Added. Same as unpause(), but also call

play() on slaved media elements.

(playbackStateWaiting): Static string accessor.
(playbackStatePlaying): Ditto.
(playbackStateEnded): Ditto.
(MediaController::playbackState): Added. Returns string value of

m_playbackState.

  • html/MediaController.h:
  • html/MediaController.idl:

LayoutTests:

Add new test for unpause() and playbackState() methods.

  • media/media-controller-unpause.html:
  • media/media-controller-unpause-expected.txt:
  • media/media-controller-playback.html:
  • media/media-controller-playback-expected.txt:
3:59 PM Changeset in webkit [136294] by jchaffraix@webkit.org
  • 5 edits in trunk/Source/WebCore

[CSS Grid Layout] Align the grid track code with the specification's production rules
https://bugs.webkit.org/show_bug.cgi?id=103703

Reviewed by Alexis Menard.

In order to support more of the syntax and make the code more readable, this change
splits following the grammar's production rules (see
http://dev.w3.org/csswg/css3-grid-layout/#grid-definition-columns-and-grid-definit).

Refactoring covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackMinMax):
(WebCore::valueForGridTrackGroup):
(WebCore::valueForGridTrackList):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackGroup):
(WebCore::CSSParser::parseGridTrackMinMax):

  • css/CSSParser.h:
  • css/StyleResolver.cpp:

(WebCore::createGridTrackMinMax):
(WebCore::createGridTrackGroup):
(WebCore::createGridTrackList):
Mechanical split of the parsing, resolving and computed style code into
<track-list>, <track-group>, <track-minmax> and <track-breadth> parts.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridBreadth):
Changed this function to just parse a single value (without any extra logic).

  • css/StyleResolver.cpp:

(WebCore::createGridTrackBreadth):
Changed this function to take a Length as it is used to parse a <track-breadth>.
The goal is for it to be the low-level function createGridTrackMinmax will call on
each function parameter.

3:56 PM Changeset in webkit [136293] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix potential crash when canceling animations on renderers with no node
https://bugs.webkit.org/show_bug.cgi?id=103784

Reviewed by Dan Bernstein.

We could crash when tearing down RenderScrollbars because we hit
AnimationController::cancelAnimations() for a renderer with no node.
The assertion already check for a null node, but the line after
does not, so fix that.

I tried to make a test with animations/transitions on a custom scrollbar, but was not able
to get it to crash.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationController::cancelAnimations):

3:36 PM Changeset in webkit [136292] by bfulgham@webkit.org
  • 6 edits
    1 move
    10 adds
    1 delete in trunk/Source

Source/WebKit/win: [Windows, WinCairo] Generate library export definition file.
https://bugs.webkit.org/show_bug.cgi?id=103687

Reviewed by Tim Horton.

Update project solutions to use the new generated *.def files.

  • WebKit.vcproj/WebKit.sln: Update for new project and file

locations.

Source/WebKit2: [Windows, WinCairo] Generate library export symbol file.
https://bugs.webkit.org/show_bug.cgi?id=103687

Reviewed by Tim Horton.

Generate the export definition file based on the compile options
and port settings. Get rid of the old hand-written file, and use
a revised master input file that allows using conditional
settings to generate the output, much like the Mac and other
ports do.

  • win/WebKit2.def: Removed.
  • win/WebKit2.def.in: Added.
  • win/WebKit2Apple.vsprops:
  • win/WebKit2CFLite.def: Removed.
  • win/WebKit2CFLite.vsprops:
  • win/WebKit2Common.vsprops:
  • win/WebKit2ExportGenerator.vcproj: Added.
  • win/WebKit2ExportGeneratorCommon.vsprops: Added.
  • win/WebKit2ExportGeneratorDebug.vsprops: Added.
  • win/WebKit2ExportGeneratorDebugAll.vsprops: Added.
  • win/WebKit2ExportGeneratorDebugCairoCFLite.vsprops: Added.
  • win/WebKit2ExportGeneratorPostBuild.cmd: Added.
  • win/WebKit2ExportGeneratorPreBuild.cmd: Added.
  • win/WebKit2ExportGeneratorProduction.vsprops: Added.
  • win/WebKit2ExportGeneratorRelease.vsprops: Added.
  • win/WebKit2ExportGeneratorReleaseCairoCFLite.vsprops: Added.
3:33 PM Changeset in webkit [136291] by cevans@google.com
  • 1 edit in branches/chromium/1312/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h

Merge 134902
BUG=157875
Review URL: https://codereview.chromium.org/11419266

3:33 PM Changeset in webkit [136290] by cevans@google.com
  • 9 edits in branches/chromium/1312/Source/WebCore/platform/graphics

Merge 134871
BUG=157875
Review URL: https://codereview.chromium.org/11348334

3:30 PM Changeset in webkit [136289] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

PluginDocument fires didFinishDocumentLoadForFrame upon receiving initial bytes instead of when load completes
https://bugs.webkit.org/show_bug.cgi?id=103702
<rdar://problem/12762534>

Reviewed by Alexey Proskuryakov.

Remove the call to finish() from PluginDocumentParser::appendBytes().

This was introduced in http://trac.webkit.org/changeset/14838, when finish() wouldn't get
called for PluginDocuments any other way. In the time since, DocumentWriter::end() was made
to call finish() anyway, at the correct time (the call from appendBytes makes a PluginDocument
appear to be finished loading after the first bytes are received).

No new tests, because there doesn't seem to be any state in a PluginDocument that can be accessed
from JavaScript to determine whether or not it has finished loading.

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::appendBytes):

3:21 PM Changeset in webkit [136288] by loislo@chromium.org
  • 3 edits in trunk/Source/WebCore

RenderBlock minor clean-up: replace raw pointers with OwnPtrs.
https://bugs.webkit.org/show_bug.cgi?id=103690

Reviewed by Eric Seidel.

raw pointers were replaced with OwnPtrs.
Probably we also gain a small performance improvements because
I replaced get && remove pair with take.

  • rendering/RenderBlock.cpp:

(WebCore):
(WebCore::removeBlockFromDescendantAndContainerMaps):
(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::addContinuationWithOutline):
(WebCore::RenderBlock::paintContinuationOutlines):
(WebCore::RenderBlock::insertIntoTrackedRendererMaps):
(WebCore::RenderBlock::removeFromTrackedRendererMaps):
(WebCore::RenderBlock::setDesiredColumnCountAndWidth):

  • rendering/RenderBlock.h:

(WebCore):

3:21 PM Changeset in webkit [136287] by zmo@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, webkit gardening, fix webkit lint.

  • platform/chromium/TestExpectations:
3:17 PM Changeset in webkit [136286] by cevans@google.com
  • 3 edits
    2 copies in branches/chromium/1312

Merge 136060
BUG=158693
Review URL: https://codereview.chromium.org/11416300

3:12 PM Changeset in webkit [136285] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135914
BUG=158695
Review URL: https://codereview.chromium.org/11415245

3:12 PM Changeset in webkit [136284] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Use the correct path to a test in TestExpectations.

  • platform/chromium/TestExpectations:
3:07 PM Changeset in webkit [136283] by cevans@google.com
  • 1 edit in branches/chromium/1312/Source/WebCore/page/EventHandler.cpp

Merge 136062
BUG=159219
Review URL: https://codereview.chromium.org/11415242

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

WebGL: Add a class to abstract the status of the Image in texImage2D() and texSubImage2D()
https://bugs.webkit.org/show_bug.cgi?id=103606

Patch by Jun Jiang <jun.a.jiang@intel.com> on 2012-11-30
Reviewed by Kenneth Russell.

In texImage2D() and texSubImage2D() for WebGL, the status of the Image is extracted and kept in the function GraphicsContext3D::getImageData() but provides no interface or guaranteed way to use the status of the Image outside GraphicsContext3D::getImageData() safely. For example, you can not get the address of the raw Image data and operate it outside the scope of the GraphicsContext3D::getImageData() and there is at least one memory copy existed from the Image to the intermediate vector.

This patch refactors the code by adding a ImageExtractor class to abstract and keep the status of the Image. The lifetime and validity of Image status are determined by the lifetime of the object instead of the scope of getImageData(). It provides flexibility on future optimizations.

No new tests. It is a code refactoring patch.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):

  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::packImageData):

  • platform/graphics/GraphicsContext3D.h:

(WebCore):
(GraphicsContext3D):
(ImageExtractor):
(WebCore::GraphicsContext3D::ImageExtractor::extractSucceeded):
(WebCore::GraphicsContext3D::ImageExtractor::imagePixelData):
(WebCore::GraphicsContext3D::ImageExtractor::imageWidth):
(WebCore::GraphicsContext3D::ImageExtractor::imageHeight):
(WebCore::GraphicsContext3D::ImageExtractor::imageSourceFormat):
(WebCore::GraphicsContext3D::ImageExtractor::imageAlphaOp):
(WebCore::GraphicsContext3D::ImageExtractor::imageSourceUnpackAlignment):

  • platform/graphics/NativeImagePtr.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/cg/GraphicsContext3DCG.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/clutter/GraphicsContext3DClutter.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
(WebCore):
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

3:01 PM Changeset in webkit [136281] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 136034
BUG=146882
Review URL: https://codereview.chromium.org/11299286

3:00 PM Changeset in webkit [136280] by Simon Fraser
  • 6 edits in trunk

Make RenderLayer::updateLayerPosition() private
https://bugs.webkit.org/show_bug.cgi?id=102624

Reviewed by Ryosuke Niwa.

Source/WebCore:

Made updateLayerPosition() private. The only external caller was
MouseRelatedEvent::computeRelativePosition(), which has no business updating
layer positions. In fact it had positively dangerous behavior; doing just
a style update without layout, and then calling absoluteToLocal() and walking
layers. Fixed by having it call updateLayoutIgnorePendingStylesheets().

This revealed a bug where event.offsetX/offsetY could be wrong in some cases.
fast/events/stopPropagation-submit.html does a simulated click (which has
client coordinates at 0,0), so the image submit coordinates were incorrectly
0,0. Now that we do layout before computing them, they are correctly reported
as being relative to the element.

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computeRelativePosition):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterScroll):

  • rendering/RenderLayer.h:

(RenderLayer):

LayoutTests:

New results with correctly computed event offsets.

  • fast/events/stopPropagation-submit-expected.txt:
2:45 PM Changeset in webkit [136279] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135719
BUG=161690
Review URL: https://codereview.chromium.org/11316291

2:43 PM Changeset in webkit [136278] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1271

Merge 135719
BUG=161690
Review URL: https://codereview.chromium.org/11434065

2:30 PM Changeset in webkit [136277] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Late-loading stylesheets can cause composited layers to be blank
https://bugs.webkit.org/show_bug.cgi?id=103773

Reviewed by Tim Horton.

Early painting can be short-circuited in RenderBlock::paintContents() if we know a stylesheet
is pending, which is done to avoid a flash of unstyled content (FOUC). When the stylesheet
finally loaded, Document::styleResolverChanged() would try to repaint everything by calling
repaint() on the RenderView(). In a composited world, however, this repaint() doesn't repaint
composited layers.

This was particularly prevalent on this specific URL because it failed to load
a CSS file from typekit.com, so Document::styleResolverChanged()
just did the repaint and returned (rather than doing a recalc style as would
happen for correctly loaded stylesheets).

Fix by making a way to repaint all compositing layers, and calling it
from Document::styleResolverChanged().

No tests because this is timing-dependant.

  • dom/Document.cpp:

(WebCore::Document::styleResolverChanged): Call repaintViewAndCompositedLayers().

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintContents): Fix the comment.

  • rendering/RenderLayerCompositor.cpp: Convert repaintCompositedLayersAbsoluteRect()

and associated recursiveRepaintLayerRect() to allow the rect to be null, which indicates
that we should just repaint the entire layer, and improve their names.
(WebCore::RenderLayerCompositor::repaintCompositedLayers):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): repaintCompositedLayersAbsoluteRect()
was renamed to repaintCompositedLayers().
(WebCore::RenderView::repaintViewAndCompositedLayers):

  • rendering/RenderView.h:

(RenderView): repaintViewRectangle() and repaintRectangleInViewAndCompositedLayers() should not
be virtual. Add repaintViewAndCompositedLayers().

1:56 PM Changeset in webkit [136276] by fpizlo@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

Rationalize and clean up DFG handling of scoped accesses
https://bugs.webkit.org/show_bug.cgi?id=103715

Reviewed by Oliver Hunt.

Previously, we had a GetScope node that specified the depth to which you wanted
to travel to get a JSScope, and the backend implementation of the node would
perform all of the necessary footwork, including potentially skipping the top
scope if necessary, and doing however many loads were needed. But there were
strange things. First, if you had accesses at different scope depths, then the
loads to get to the common depth could not be CSE'd - CSE would match only
GetScope's that had identical depth. Second, GetScope would be emitted even if
we already had the scope, for example in put_to_base. And finally, even though
the ResolveOperations could tell us whether or not we had to skip the top scope,
the backend would recompute this information itself, often pessimistically.

This eliminates GetScope and replaces it with the following:

GetMyScope: just get the JSScope from the call frame header. This will forever
mean getting the JSScope associated with the machine call frame; it will not
mean getting the scope of an inlined function. Or at least that's the intent.

SkipTopScope: check if there is an activation, and if so, skip a scope. This
takes a scope as a child and returns a scope.

SkipScope: skip one scope level.

The bytecode parser now emits the right combination of the above, and
potentially emits multiple SkipScope's, based on the ResolveOperations.

This change also includes some fixups to debug logging. We now always print
the ExecutableBase* in addition to the CodeBlock* in the CodeBlock's dump,
and we are now more verbose when dumping CodeOrigins and InlineCallFrames.

This is performance-neutral. It's just meant to be a clean-up.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::inlineStack):
(JSC::CodeOrigin::dump):
(JSC):
(JSC::InlineCallFrame::dump):

  • bytecode/CodeOrigin.h:

(CodeOrigin):
(InlineCallFrame):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getScope):
(DFG):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::scopedVarLoadElimination):
(JSC::DFG::CSEPhase::scopedVarStoreElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGNode.h:

(Node):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/JITDisassembler.cpp:

(JSC::JITDisassembler::dump):

1:54 PM Changeset in webkit [136275] by commit-queue@webkit.org
  • 17 edits
    3 deletes in trunk

Unreviewed, rolling out r136142.
http://trac.webkit.org/changeset/136142
https://bugs.webkit.org/show_bug.cgi?id=103768

break a bunch of interactive_ui_tests in chromium win
(Requested by zhenyao_home on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-30

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:

(StyleRareInheritedData):

LayoutTests:

  • fast/ruby/position-after.html: Removed.
  • platform/mac/fast/ruby/position-after-expected.png: Removed.
  • platform/mac/fast/ruby/position-after-expected.txt: Removed.
1:53 PM Changeset in webkit [136274] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135740
BUG=158204
Review URL: https://codereview.chromium.org/11348330

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

Merge 135740
BUG=158204
Review URL: https://codereview.chromium.org/11418272

1:48 PM Changeset in webkit [136272] by jsbell@chromium.org
  • 9 edits in trunk/Source/WebCore

IndexedDB: Replace use of ScriptExecutionContext::Task (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=101483

Reviewed by Tony Chang.

The IDB back end (which runs on a single thread) makes use of ScriptExecutionContext's
Task and facilities for cross-task posting with callbacks, and requires decorating various
IDB classes with "ThreadSafe" when they are not. Move towards encapsulating the tasks
in "Operation" classes which are IDB-operation specific.

Part 1 (this patch) retains the use of ScriptExecutionContext::Task but wraps the creation
and the callback function in an Operation class which will be fleshed out in later patches.
As an aside, a little bit of RefPtr churn is eliminated, and IDB_TRACE sprinkled in.

No new tests - just a refactor.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(IDBCursorBackendImpl::CursorIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::create):
(WebCore):
(IDBCursorBackendImpl::CursorAdvanceOperation):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::create):
(IDBCursorBackendImpl::CursorPrefetchIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::create):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::advance):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::perform):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::perform):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(IDBCursorBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(IDBDatabaseBackendImpl::CreateObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::create):
(WebCore):
(IDBDatabaseBackendImpl::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::create):
(IDBDatabaseBackendImpl::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::VersionChangeAbortOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(IDBIndexBackendImpl::OpenIndexCursorOperation):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::create):
(WebCore):
(IDBIndexBackendImpl::IndexCountOperation):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::create):
(IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::create):
(IDBIndexBackendImpl::IndexValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::create):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::perform):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::perform):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):

  • Modules/indexeddb/IDBIndexBackendImpl.h:

(WebCore::IDBIndexBackendImpl::metadata):
(IDBIndexBackendImpl):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::create):
(WebCore):
(IDBObjectStoreBackendImpl::ObjectStoreStorageOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreClearOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::create):
(IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreCountOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::create):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::perform):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(IDBObjectStoreBackendImpl):

1:31 PM Changeset in webkit [136271] by senorblanco@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Suppress the new separable mask blurs in skia until the tests can be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=103766

Unreviewed.

  • skia_webkit.gyp:
1:29 PM Changeset in webkit [136270] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

1:27 PM Changeset in webkit [136269] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135193
BUG=156619
Review URL: https://codereview.chromium.org/11411295

1:26 PM Changeset in webkit [136268] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1271

Merge 135193
BUG=156619
Review URL: https://codereview.chromium.org/11418269

1:25 PM Changeset in webkit [136267] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.5

New Tag.

1:25 PM Changeset in webkit [136266] by senorblanco@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
1:24 PM Changeset in webkit [136265] by timothy_horton@apple.com
  • 9 edits in trunk/Source

(Simple)PDFPlugin: Support conversion of PostScript documents
https://bugs.webkit.org/show_bug.cgi?id=103289
<rdar://problem/10235708>

Reviewed by Dan Bernstein.

SimplePDFPlugin (and PDFPlugin) should support converting PostScript files
to PDF before handing them off to their respective backends.

As PDFPlugin inherits from SimplePDFPlugin, it gets the new functionality automatically.

  • WebProcess/Plugins/PDF/SimplePDFPlugin.h: Add convertPostScriptDataIfNeeded(), and m_isPostScript.
  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::pluginInfo): SimplePDFPlugin should claim to support PDF and PostScript.
(WebKit::convertPostScriptDataSourceToPDF): PS->PDF conversion code, copied from PDFViewController (which I intend to remove).
(WebKit::SimplePDFPlugin::convertPostScriptDataIfNeeded): Check if the loaded data represents a PS file; if so, convert it.
(WebKit::SimplePDFPlugin::streamDidReceiveResponse): Check if the loaded data is of MIME type application/postscript, and store that in m_isPostScript.
(WebKit::SimplePDFPlugin::streamDidFinishLoading): Call convertPostScriptDataIfNeeded when we finish loading.
(WebKit::SimplePDFPlugin::manualStreamDidReceiveResponse): Ditto from streamDidReceiveResponse.
(WebKit::SimplePDFPlugin::manualStreamDidFinishLoading): Ditto from streamDidFinishLoading.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Use (Simple)PDFPlugin for PostScript files too.

  • English.lproj/Localizable.strings:
  • WebCore.exp.in:
  • platform/LocalizedStrings.cpp:

(WebCore::postScriptDocumentTypeDescription):

  • platform/LocalizedStrings.h:

Add and export postScriptDocumentTypeDescription, for PostScript files.

1:21 PM Changeset in webkit [136264] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135303
BUG=154488
Review URL: https://codereview.chromium.org/11421183

1:20 PM Changeset in webkit [136263] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1271

Merge 135303
BUG=154488
Review URL: https://codereview.chromium.org/11418268

1:11 PM Changeset in webkit [136262] by junov@google.com
  • 5 edits
    1 add in trunk

[Chromium] Animation updates fail when using a canvas as a CSS backround-image style with -webkit-canvas
https://bugs.webkit.org/show_bug.cgi?id=103643

Reviewed by Stephen White.

.:

New test to verify that elements using a canvas as a style image
source are redrawn when the canvas is animated. Added as a manual test
because the bug was not reproducible in DumpRenderTree.

  • ManualTests/animated-canvas-as-background.html: Added.

Source/WebCore:

CanvasRenderingContext2D::didDraw was not propagating the change
notification to observers in the accelerated compositing case.
Problem fixed by adding observer notifications.

New manual test: animated-canvas-as-background.html

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::didDraw):
The observer notification was factored out into a separate method
so that it can be invoked directly for accelerated compositing.
(WebCore):
(WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):

  • html/HTMLCanvasElement.h:

(HTMLCanvasElement):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::didDraw):
Added observer notification call to trigger repainting of elements that
use this canvas for their style.

1:09 PM Changeset in webkit [136261] by oliver@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add direct string->function code cache
https://bugs.webkit.org/show_bug.cgi?id=103764

Reviewed by Michael Saboff.

A fairly logically simple patch. We now track the start of the
unique portion of a functions body, and use that as our key for
unlinked function code. This allows us to cache identical code
in different contexts, leading to a small but consistent improvement
on the benchmarks we track.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::functionStartOffset):
(UnlinkedFunctionExecutable):

  • parser/ASTBuilder.h:

(ASTBuilder):
(JSC::ASTBuilder::setFunctionStart):

  • parser/Nodes.cpp:
  • parser/Nodes.h:

(JSC::FunctionBodyNode::setFunctionStart):
(JSC::FunctionBodyNode::functionStart):
(FunctionBodyNode):

  • parser/Parser.cpp:

(JSC::::parseFunctionInfo):

  • parser/Parser.h:

(JSC::Parser::findCachedFunctionInfo):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::setFunctionStart):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionCodeBlock):
(JSC::CodeCache::usedFunctionCode):

  • runtime/CodeCache.h:
12:49 PM Changeset in webkit [136260] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFPlugin: "Show Definition" context menu item should be implemented
https://bugs.webkit.org/show_bug.cgi?id=103389
<rdar://problem/12710751>

Reviewed by Dan Bernstein.

Call existing dictionary popup code when the context menu "Show Definition" item is selected.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add showDefinitionForAttributedString and convertFromPDFViewToRootView.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate showDefinitionForAttributedString:atPoint:]): Forward this call to PDFPlugin.
(WebKit::PDFPlugin::showDefinitionForAttributedString): Create a DictionaryPopupInfo with the necessary information.
Ask WebPageProxy to show the dictionary popup.
(WebKit::PDFPlugin::convertFromPDFViewToRootView): Convert a point from PDFLayerController space to the root view space.

12:39 PM Changeset in webkit [136259] by yoli@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Set the minimal DOM timer interval to 4 milliseconds
https://bugs.webkit.org/show_bug.cgi?id=103534

Patch by Cosmin Truta (ctruta@rim.com)

Reviewed by Yong Li.

We align this behavior with other platforms.

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::globalInitialize):

12:20 PM Changeset in webkit [136258] by schenney@chromium.org
  • 135 edits
    1 move
    3 adds
    8 deletes in trunk/LayoutTests

[Chromium] Rebaselining tests affected by recent Skia changes

Unreviewed test expectations updates.

Due to the Win7 builders being so far behind, some Win7 expectations may be wrong.
Also fixes https://bugs.webkit.org/show_bug.cgi?id=103722

  • platform/chromium-linux-x86/svg/transforms: Added.
  • platform/chromium-linux-x86/svg/transforms/text-with-mask-with-svg-transform-expected.png: Added.
  • platform/chromium-linux/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-linux/fast/text/line-initial-and-final-swashes-expected.png: Removed.
  • platform/chromium-linux/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/inset-expected.png:
  • platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
  • platform/chromium-mac-lion/fast/transforms/transformed-focused-text-input-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
  • platform/chromium-mac-lion/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
  • platform/chromium-mac-lion/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
  • platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac-lion/svg/custom/linking-a-03-b-transform-expected.png:
  • platform/chromium-mac-lion/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
  • platform/chromium-mac-lion/svg/custom/pattern-rotate-expected.png:
  • platform/chromium-mac-lion/svg/custom/stroke-width-large-expected.png:
  • platform/chromium-mac-lion/svg/custom/use-transform-expected.png:
  • platform/chromium-mac-lion/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/transforms/transformed-focused-text-input-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
  • platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/pattern-rotate-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/stroke-width-large-expected.png:
  • platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac/fast/box-shadow/inset-box-shadow-radius-expected.png:
  • platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:
  • platform/chromium-mac/fast/box-shadow/inset-expected.png:
  • platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png:
  • platform/chromium-mac/fast/transforms/shadows-expected.png:
  • platform/chromium-mac/fast/transforms/transformed-focused-text-input-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
  • platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
  • platform/chromium-mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
  • platform/chromium-mac/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac/svg/custom/linking-a-03-b-transform-expected.png:
  • platform/chromium-mac/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
  • platform/chromium-mac/svg/custom/pattern-rotate-expected.png:
  • platform/chromium-mac/svg/custom/stroke-width-large-expected.png:
  • platform/chromium-mac/svg/custom/use-transform-expected.png:
  • platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-win-xp/platform/chromium/fast/forms/color: Removed.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
  • platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-win/fast/box-shadow/inset-box-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/inset-expected.png:
  • platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-win/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/chromium-linux/fast/text/line-initial-and-final-swashes-expected.png.
  • platform/chromium-win/fast/transforms/shadows-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/color/color-suggestion-picker-with-scrollbar-appearance-expected.png:
  • platform/chromium-win/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
  • platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
  • platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
  • platform/chromium-win/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
  • platform/chromium-win/svg/css/group-with-shadow-expected.png:
  • platform/chromium-win/svg/custom/linking-a-03-b-transform-expected.png:
  • platform/chromium-win/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
  • platform/chromium-win/svg/custom/pattern-rotate-expected.png:
  • platform/chromium-win/svg/custom/stroke-width-large-expected.png:
  • platform/chromium-win/svg/custom/use-transform-expected.png:
  • platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.png:
  • platform/chromium/TestExpectations:
11:28 AM Changeset in webkit [136257] by Lucas Forschler
  • 1 edit in branches/safari-536.28-branch/Source/WebCore/English.lproj/Localizable.strings

Update localized strings.

11:19 AM Changeset in webkit [136256] by simonjam@chromium.org
  • 8 edits in trunk

Report CSS as initiator instead of elements, except body
https://bugs.webkit.org/show_bug.cgi?id=103546

Reviewed by Tony Gentilcore.

Source/WebCore:

The Resource Timing spec says the initiator should be "css" when the the load comes from a
url() rule in a stylesheet. Separately, WebKit reports <body background> as a CSS load, we
need to override that to match the spec.

Tests: http/tests/w3c/webperf/submission/resource-timing

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImage):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cachedImage): By default, the initiator is "css".

  • css/CSSImageValue.h:

(CSSImageValue):
(WebCore::CSSImageValue::setInitiator): Allow users to manually override it (see body).

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::collectStyleForPresentationAttribute): Record "body" as the initiator.

LayoutTests:

  • platform/chromium/fast/loader/resource-request-callbacks-expected.txt: Rebaseline to match new behavior.
11:17 AM Changeset in webkit [136255] by simonjam@chromium.org
  • 3 edits in trunk/Source/WebCore

Remember the CachedResourceRequest for preloads
https://bugs.webkit.org/show_bug.cgi?id=102995

Reviewed by Tony Gentilcore.

Without this, the initiator is lost.

Tests: http/tests/w3c/webperf/submission/resource-timing

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
(WebCore::CachedResourceLoader::isPreloaded):

  • loader/cache/CachedResourceLoader.h:

(CachedResourceLoader):
(PendingPreload):

10:47 AM Changeset in webkit [136254] by Michelangelo De Simone
  • 3 edits
    6 adds in trunk

[CSS Shaders] Clamp input colors before blending
https://bugs.webkit.org/show_bug.cgi?id=98962

Reviewed by Dean Jackson.

Source/WebCore:

The result of css_ColorMatrix multiplication is now clamped in [0.0, 1.0]
before the blending step.

Relevant spec section is:
http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-processing-model

Tests: css3/filters/custom/custom-filter-color-clamping-negative.html

css3/filters/custom/custom-filter-color-clamping.html

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader): Added clamping
code.

LayoutTests:

Test to check the correct clamping of color values.

  • css3/filters/custom/custom-filter-color-clamping-expected.html: Added.
  • css3/filters/custom/custom-filter-color-clamping-negative-expected.html: Added.
  • css3/filters/custom/custom-filter-color-clamping-negative.html: Added.
  • css3/filters/custom/custom-filter-color-clamping.html: Added.
  • css3/filters/resources/custom-filter-color-clamping-negative.fs: Added.
  • css3/filters/resources/custom-filter-color-clamping.fs: Added.
10:19 AM FeatureFlags edited by rafaelw@chromium.org
(diff)
10:18 AM FeatureFlags edited by rafaelw@chromium.org
(diff)
10:14 AM Changeset in webkit [136253] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash due to intruding float not removed after writing mode changed.
https://bugs.webkit.org/show_bug.cgi?id=100149

Reviewed by Levi Weintraub.

Source/WebCore:

When RenderView writing mode changes, make sure to mark all descendants
with floats for layout.

Test: fast/block/float/intruding-float-not-removed-writing-mode.xhtml

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

LayoutTests:

  • fast/block/float/intruding-float-not-removed-writing-mode-expected.txt: Added.
  • fast/block/float/intruding-float-not-removed-writing-mode.xhtml: Added.
9:57 AM Changeset in webkit [136252] by pierre.rossi@gmail.com
  • 4 edits in trunk/Source/WebKit/qt

[Qt] Introduce setTextSizeMultiplier in the page adapter as well.

Rubber-stamped by Simon Hausmann.

As it turns out it the bots didn't like the previous attempt.

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::setTextSizeMultiplier):

  • WebCoreSupport/QWebFrameAdapter.h:
  • WidgetApi/qwebframe.cpp:

(QWebFrame::setTextSizeMultiplier):

9:57 AM Changeset in webkit [136251] by pierre.rossi@gmail.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Unreviewed build fix.

In the same vein as r136245. Include PlatformExportMacros proper.

  • WebCoreSupport/QtPrintContext.h:
9:49 AM Changeset in webkit [136250] by fmalita@chromium.org
  • 4 edits
    2 adds in trunk

SVG pattern data deleted while in use
https://bugs.webkit.org/show_bug.cgi?id=103415

Reviewed by Dirk Schulze.

Source/WebCore:

Various calls in RenderSVGResourcePattern::applyResource() can trigger invalidations,
which may end up deleting our current pattern data (via removeAllClientsFromCache).
To avoid this, we should add the pattern data to the cache only after it is fully built.
For clarity, the patch also refactors the pattern setup code into a separate method.

Test: svg/custom/large-image-pattern-crash.html

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::applyResource):

  • rendering/svg/RenderSVGResourcePattern.h:

(RenderSVGResourcePattern):

LayoutTests:

  • svg/custom/large-image-pattern-crash-expected.txt: Added.
  • svg/custom/large-image-pattern-crash.html: Added.
9:20 AM Changeset in webkit [136249] by apavlov@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: It's Sass, not SASS
https://bugs.webkit.org/show_bug.cgi?id=103626

Reviewed by Yury Semikhatsky.

Change "SASS" to "Sass" in UI strings.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings):

  • inspector/front-end/SettingsScreen.js:
9:17 AM Changeset in webkit [136248] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Fixing TestExpectations

Unreviewed fix to pass lint

  • platform/chromium/TestExpectations:
9:06 AM Changeset in webkit [136247] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit2

Unreviewed trivial Qt build fix:

Always link against WebProcess against QT += webkit and use webkitwidgets only if available.

  • WebProcess.pro:
8:59 AM Changeset in webkit [136246] by allan.jensen@digia.com
  • 2 edits in trunk/Source/JavaScriptCore

Crash in conversion of empty OpaqueJSString to Identifier
https://bugs.webkit.org/show_bug.cgi?id=101867

Reviewed by Michael Saboff.

The constructor call used for both null and empty OpaqueJSStrings results
in an assertion voilation and crash. This patch instead uses the Identifier
constructors which are specifically for null and empty Identifier.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::identifier):

8:24 AM Changeset in webkit [136245] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit/qt

Unreviewed prospective MIPS build fix:

Explicitly include PlatformExportMacros for the correct export macro to be find.
Not really MIPS specific but rather to a minimal build configuration with less implicit
includes.

  • WebCoreSupport/UndoStepQt.h:
8:20 AM Changeset in webkit [136244] by pierre.rossi@gmail.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Unreviewed build un-break

Revert r136243 and hope it served its purpose.

  • WidgetApi/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):

8:10 AM Changeset in webkit [136243] by pierre.rossi@gmail.com
  • 4 edits in trunk

[Qt] Unreviewed build break

Rubber-stamped by Simon Hausmann.

Poor man's way to trigger a clean build on a bot.

.:

  • WebKit.pro:

Source/WebKit/qt:

  • WidgetApi/qwebpage.cpp:

(QWebPagePrivate::QWebPagePrivate):

7:48 AM Changeset in webkit [136242] by Simon Hausmann
  • 3 edits in trunk/Source/WebKit/qt

[Qt] Fix QML import installation with newer Qt

Reviewed by Tor Arne Vestbø.

The import path has been separated between QML1 and QML2. Use
QT_INSTALL_QML if it's available.

  • declarative/experimental/experimental.pri:
  • declarative/public.pri:
7:32 AM Changeset in webkit [136241] by jochen@chromium.org
  • 1 edit
    2 copies in branches/chromium/1312

Merge 135578 - REGRESSION (r128633): td changes size during re-layout of table although it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=102802

Patch by Julian Pastarmov <pastarmovj@chromium.org> on 2012-11-23
Reviewed by Ojan Vafai.

Source/WebCore:

The bug was caused by incorrectly rewriting a nested condition which caused the else
clause to trigger in wrong cases.

Test: fast/table/nested-tables-with-div-offset.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
Reverted wrong combination of nested if statements.

LayoutTests:

This test checks that table layout of some nested tables in quirks mode is computed correctly.

  • fast/table/nested-tables-with-div-offset-expected.txt: Added.
  • fast/table/nested-tables-with-div-offset.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11414259

7:25 AM Changeset in webkit [136240] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit/qt

Prospective build fix for --minimal build.

  • WebCoreSupport/QWebPageAdapter.cpp:

(QWebPageAdapter::triggerAction):
(QWebPageAdapter::contextMenuItemTagForAction):

7:22 AM Changeset in webkit [136239] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip failing test editing/selection/caret-alignment-for-vertical-text.html
https://bugs.webkit.org/show_bug.cgi?id=103741

Unreviewed, EFL gardening.

Skip failing test editing/selection/caret-alignment-for-vertical-text.html
until bug 103740 is fixed.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

  • platform/efl/TestExpectations:
7:22 AM Changeset in webkit [136238] by Simon Hausmann
  • 2 edits in trunk

[Qt] Unreviewed doc fix

Add additional search paths for API folders.

  • Source/qtwebkit.qdocconf:
7:17 AM Changeset in webkit [136237] by pierre.rossi@gmail.com
  • 3 edits in trunk/Source/WebKit/qt

[Qt] Fix zoomIn/zoomOut related regression.

Reviewed by Simon Hausmann.

Following r136235, fix a case of refactoring gone wrong.
Implementing setTextSizeMultiplier in terms of
setZoomFactor, and not the other way around.

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::setZoomFactor):

  • WidgetApi/qwebframe.cpp:

(QWebFrame::setTextSizeMultiplier):

7:09 AM Changeset in webkit [136236] by tommyw@google.com
  • 21 edits
    1 move in trunk

Source/WebCore: Speech Recognition API: Update SpeechRecognitionEvent/Result to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

This patch does the following:
o Adds results, and removing result on SpeechRecognitionEvent
o Renaming SpeechRecognitionResult::final to isFinal
o Moving emma to SpeechRecognitionEvent from SpeechRecognitionResult

Existing tests updated to test the new API.

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::start):
(WebCore::SpeechRecognition::didReceiveResults):
(WebCore):

  • Modules/speech/SpeechRecognition.h:

(SpeechRecognition):

  • Modules/speech/SpeechRecognitionEvent.cpp:

(WebCore::SpeechRecognitionEvent::createResult):
(WebCore):
(WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
(WebCore::SpeechRecognitionEvent::~SpeechRecognitionEvent):
(WebCore::emmaQualifiedName):
(WebCore::SpeechRecognitionEvent::emma):

  • Modules/speech/SpeechRecognitionEvent.h:

(WebCore):
(SpeechRecognitionEventInit):
(SpeechRecognitionEvent):
(WebCore::SpeechRecognitionEvent::resultIndex):
(WebCore::SpeechRecognitionEvent::results):

  • Modules/speech/SpeechRecognitionEvent.idl:
  • Modules/speech/SpeechRecognitionResult.cpp:
  • Modules/speech/SpeechRecognitionResult.h:

(WebCore::SpeechRecognitionResult::isFinal):
(SpeechRecognitionResult):

  • Modules/speech/SpeechRecognitionResult.idl:
  • WebCore.gypi:
  • bindings/v8/custom/V8SpeechRecognitionEventCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp.

(WebCore):
(WebCore::V8SpeechRecognitionEvent::opaqueRootForGC):

Source/WebKit/chromium: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Adding the new didReceiveResults method.

  • public/WebSpeechRecognizerClient.h:
  • src/SpeechRecognitionClientProxy.cpp:

(WebKit::SpeechRecognitionClientProxy::didReceiveResults):
(WebKit):

  • src/SpeechRecognitionClientProxy.h:

(SpeechRecognitionClientProxy):

Tools: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Changing the mock to use the new results delivery API.

  • DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:

LayoutTests: Speech Recognition API: Update SpeechRecognitionEvent to match the specification
https://bugs.webkit.org/show_bug.cgi?id=103407

Reviewed by Adam Barth.

Updating tests.

  • fast/speech/scripted/emma-expected.txt:
  • fast/speech/scripted/emma.html:
  • fast/speech/scripted/speechrecognition-basics-expected.txt:
  • fast/speech/scripted/speechrecognition-basics.html:
7:00 AM Changeset in webkit [136235] by Simon Hausmann
  • 51 edits
    1 copy
    38 moves
    7 adds
    5 deletes in trunk

2012-11-30 Simon Hausmann <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>

[Qt] Separate Qt WebKit into Qt WebKit and Qt WebKit Widgets
https://bugs.webkit.org/show_bug.cgi?id=99314

Reviewed by Tor Arne Vestbø.

This big change separates QtWebKit into QtWebKit and QtWebKitWidgets as
shared libraries.

It's a big refactoring that mostly involves moving WebCore dependent
code into QtWebKit and accessing it through exported QWebFrameAdapter
and QWebPageAdapter classes.

6:20 AM Changeset in webkit [136234] by joone.hur@intel.com
  • 4 edits in trunk/Source/WebKit2

[EFL]Drawing artifacts while resizing the view
https://bugs.webkit.org/show_bug.cgi?id=101288

Reviewed by Kenneth Rohde Christiansen.

An Evas GL surface is recreated when the window is resized, but the update of the surface is
asynchronously done, which gives Evas a chance of painting the empty surface on the screen.
As a result, the flickering problem happens while resizing the view.
So this patch allows to create an Evas GL surface synchronously with the update of the surface.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl): Set m_pendingSurfaceResize to false.
(EwkViewImpl::displayTimerFired): Create an Evas GL surface.

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setNeedsSurfaceResize): Added.
(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.cpp:

(_ewk_view_smart_calculate): Set m_pendingSurfaceResize to true.

6:16 AM Changeset in webkit [136233] by vestbo@webkit.org
  • 2 edits in trunk

[Qt] Build as a regular Qt module when production_build is enabled

Instead of always setting CONFIG+=force_independent. This means the
libs, headers, and documentation will end up in qtbase for developer
builds of Qt, instead of always in the QtWebKit build directory.

Reviewed by Simon Hausmann.

  • Source/api.pri:
6:16 AM Changeset in webkit [136232] by vestbo@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Place the LLIntOffsetsExtractor binaries in debug/release subdirs on Mac

Otherwise we'll end up using the same LLIntAssembly.h for both build
configs of JavaScriptCore -- one of them which will be for the wrong
config.

Reviewed by Simon Hausmann.

5:58 AM WebKitEFLLayoutTest edited by ryuan.choi@samsung.com
(diff)
5:56 AM Changeset in webkit [136231] by commit-queue@webkit.org
  • 5 edits in trunk

[WK2] TiledBackingStore: Frame view re-layouts with wrong Fixed Visible Content Rect.
https://bugs.webkit.org/show_bug.cgi?id=103428

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-30
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Set now appropriate fixed visible content rect before layout when viewport
attributes change.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::didChangeViewportAttributes):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):

LayoutTests:

Unskipped corresponding test cases for EFL WK2.

  • platform/efl-wk2/TestExpectations:
5:44 AM Changeset in webkit [136230] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[EFL] Gardening after r136031 and r136142
https://bugs.webkit.org/show_bug.cgi?id=103734

Source/WebKit2:

Unreviewed, API test EWK2UnitTestBase.ewk_view_setting_encoding_custom
is asserting after r136031. So, disabling the test until bug 103732 is
fixed.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

LayoutTests:

Unreviewed, EFL gardening.

Add baselines for new test fast/ruby/position-after.html. Also
unskip passing tests.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30

  • platform/efl/TestExpectations:
  • platform/efl/fast/ruby/position-after-expected.png: Added.
  • platform/efl/fast/ruby/position-after-expected.txt: Added.
5:03 AM Changeset in webkit [136229] by zeno.albisser@digia.com
  • 4 edits in trunk/Source

[Qt] Enable WebGL by default.
https://bugs.webkit.org/show_bug.cgi?id=103731

Reviewed by Simon Hausmann.

Source/WebKit/qt:

  • Api/qwebsettings.cpp:

(QWebSettings::QWebSettings):

Source/WebKit2:

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):

4:59 AM Changeset in webkit [136228] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r136227.
http://trac.webkit.org/changeset/136227

Broke the Qt bots due to version mismatch

  • platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:

(FullScreenVideoWindow::FullScreenVideoWindow):
(PlatformVideoWindow::PlatformVideoWindow):

4:50 AM Changeset in webkit [136227] by Simon Hausmann
  • 2 edits in trunk/Source/WebCore

[Qt] Fixed use of to-be-removed compatibility functions in QWindow.

Patch by Samuel Rødal <samuel.rodal@digia.com> on 2012-11-30
Reviewed by Simon Hausmann.

  • platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:

(FullScreenVideoWindow::FullScreenVideoWindow):
(PlatformVideoWindow::PlatformVideoWindow):

4:47 AM Changeset in webkit [136226] by Csaba Osztrogonác
  • 1 edit
    1 add in trunk/Tools

[Qt] Unreviewed trivial fix.

Add empty.cpp back, it was removed accidentally by r129092.

  • qmake/config.tests/gccdepends/empty.cpp: Added.
4:32 AM Changeset in webkit [136225] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Caret is painted horizontally in vertical writing mode when there are no visible text
https://bugs.webkit.org/show_bug.cgi?id=102359

Patch by Arpita Bahuguna <arpitabahuguna@gmail.com> on 2012-11-30
Reviewed by Ryosuke Niwa.

Source/WebCore:

In the vertical writing mode the caret rect on an empty editable box or
an empty line is rendered as per the horizontal writing mode.

This changes though when any text is added; the caret is then displayed
in accordance with the vertical writing mode.

Test: editing/selection/caret-alignment-for-vertical-text.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::localCaretRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
The caret rect should be transposed for the vertical writing mode. Its
width and height values need to be interchanged for it to be oriented
as per the vertical text.

LayoutTests:

  • editing/selection/caret-alignment-for-vertical-text-expected.txt: Added.
  • editing/selection/caret-alignment-for-vertical-text.html: Added.

Test to verify that the orientation of the caret on an empty vertical text
line or container is same as that for a non-empty container.

4:01 AM Changeset in webkit [136224] by vestbo@webkit.org
  • 2 edits in trunk/Tools

[Qt] Add support for prepare_docs and generate_docs

Follow-up to changes in Qt in how documentation is built.

Reviewed by Simon Hausmann.

  • qmake/mkspecs/features/default_post.prf:
3:26 AM Changeset in webkit [136223] by kkristof@inf.u-szeged.hu
  • 1 edit
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening.

Add expected results for a new test.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-11-30

  • platform/qt/fast/ruby/position-after-expected.png: Added.
  • platform/qt/fast/ruby/position-after-expected.txt: Added.
3:21 AM Changeset in webkit [136222] by keishi@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[Chromium] Page popup doesn't change mouse cursor
https://bugs.webkit.org/show_bug.cgi?id=97454

Reviewed by Kent Tamura.

The mouse cursor should change based on the page popup content and not the main window content.
On Mac the mousemove event propagates to both the page popup and main window causing the cursor to flicker.
The change to ChromeClientImpl stops that.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::setCursor): On Mac, don't update the mouse cursor if a popup is open.

  • src/WebPagePopupImpl.cpp: Implement setCursor so the mouse cursor gets set based on the page popup content.
2:56 AM Changeset in webkit [136221] by zandobersek@gmail.com
  • 4 edits
    2 adds
    2 deletes in trunk/Tools

Finally remove webkitpy.common.system.deprecated_logging
https://bugs.webkit.org/show_bug.cgi?id=103624

Reviewed by Adam Barth.

Remove the deprecated logging module and its unit tests now that such logging is not
used anymore in webkitpy.

The tee and OutputTee classes are moved into a new module, webkitpy.common.system.outputtee.
The tee class is renamed to Tee to conform with the usual guidelines.

Only unit test for the Tee class is currently provided as the OutputTee is not currently
using the webkitpy Filesystem abstraction that would make its functionality testable.

  • Scripts/webkitpy/common/system/executive.py: tee (now Tee) is now in a new module.

(Executive.run_and_throw_if_fail):

  • Scripts/webkitpy/common/system/outputtee.py: Renamed from Tools/Scripts/webkitpy/common/system/deprecated_logging.py.

(Tee):
(Tee.init):
(Tee.write):
(OutputTee):
(OutputTee.init):
(OutputTee.add_log):
(OutputTee.remove_log):
(OutputTee._open_log_file):
(OutputTee._tee_outputs_to_files):

  • Scripts/webkitpy/common/system/outputtee_unittest.py: Renamed from Tools/Scripts/webkitpy/common/system/deprecated_logging_unittest.py.

(SimpleTeeTest):
(SimpleTeeTest.test_simple_tee):

  • Scripts/webkitpy/tool/bot/queueengine.py: OutputTee is now in a new module.
  • Scripts/webkitpy/webkitpy.pyproj: Remove the deprecated_logging module and related unit test file.
2:52 AM Changeset in webkit [136220] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Timeline] JS error when clicking in Memory Statistics view
https://bugs.webkit.org/show_bug.cgi?id=103486

Patch by Sankeerth V S <sankeerth.vs@samsung.com> on 2012-11-30
Reviewed by Alexander Pavlov.

The counter value can be null/undefined. Hence a check is needed
before we access the "time" property on this counter object.

No new tests required as UI related change.

  • inspector/front-end/MemoryStatistics.js:

(WebInspector.MemoryStatistics.prototype._onClick):

2:32 AM Changeset in webkit [136219] by tkent@chromium.org
  • 6 edits in trunk/LayoutTests

[Chromium] Layout Test fast/forms/*-multiple-fields/*-multiple-fields-preserve-value-after-history-back.html is failing
https://bugs.webkit.org/show_bug.cgi?id=96720

Reviewed by Kentaro Hara.

We should start tests after js-test-post.js loading to avoid missing
testRunner.waitUntilDone calls.

  • fast/forms/date-multiple-fields/date-multiple-fields-preserve-value-after-history-back.html:

Make the outer switch a function to be called window.onload, and stop to
remove the iframe because the script in the iframe calls notifyDone.

  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html:

Ditto.

  • fast/forms/time-multiple-fields/time-multiple-fields-preserve-value-after-history-back.html:

Ditto.

  • fast/forms/week-multiple-fields/week-multiple-fields-preserve-value-after-history-back.html:

Ditto.

  • platform/chromium/TestExpectations:

Move the line for
week-multiple-fields-preserve-value-after-history-back.html near to
others. We don't remove these expectations yet just in case.

2:19 AM Changeset in webkit [136218] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Fix compilation warnings in JavaScriptCore JIT for sh4 arch
https://bugs.webkit.org/show_bug.cgi?id=103378

Patch by Julien BRIANCEAU <jbrianceau@nds.com> on 2012-11-30
Reviewed by Filip Pizlo.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchTest32):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branchMul32):
(JSC::MacroAssemblerSH4::branchSub32):
(JSC::MacroAssemblerSH4::branchOr32):

1:45 AM Changeset in webkit [136217] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL][WK2] Add support for PlatformWebView::simulateRightClick() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103634

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-30
Reviewed by Gyuyoung Kim.

Add support for PlatformWebView::simulateRightClick() and enable
WebKit2 API test HitTestResultNodeHandle.

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI):

1:13 AM Changeset in webkit [136216] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, fast/text/line-initial-and-final-swashes.html missing expectations on XP after r136153.

  • platform/chromium/TestExpectations:
1:02 AM Changeset in webkit [136215] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

Fix typos in DateTimeNumericFieldElement.cpp and DateTimeSymbolicFieldElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=103717

Reviewed by Hajime Morita.

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::customStyleForRenderer):
maximum, not maxium.

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Ditto.

1:01 AM Changeset in webkit [136214] by tasak@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, WebKit gardening.

  • platform/chromium/TestExpectations:
12:58 AM Changeset in webkit [136213] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

12:54 AM Changeset in webkit [136212] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] libwebcore_efl.a fail to link when enable webgl
https://bugs.webkit.org/show_bug.cgi?id=103610

Patch by Halton Huo <halton.huo@intel.com> on 2012-11-30
Reviewed by Gyuyoung Kim.

libwebcore_efl.a should link to X11, Xcomposite and Xrender libraries when ENABLE_WEBGL is ON

No new tests, no behavior change for layout tests.

  • PlatformEfl.cmake: Append ${X11_X11_LIB}, ${X11_Xcomposite_LIB} and ${X11_Xrender_LIB} to WebCore_LIBRARIES
12:52 AM Changeset in webkit [136211] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix the PDFPlugin build after http://trac.webkit.org/changeset/136205.

  • WebCore.xcodeproj/project.pbxproj:
12:48 AM Changeset in webkit [136210] by commit-queue@webkit.org
  • 32 edits in trunk

[CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled
https://bugs.webkit.org/show_bug.cgi?id=101192

Patch by Mihai Maerean <Mihai Maerean> on 2012-11-30
Reviewed by Hajime Morita.

Removed the CSS Regions flag in Settings and switched to using the new flag I have added in RuntimeEnabledFeatures.

Tests: No new tests because there is no functional change.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.vcproj/copyForwardingHeaders.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore):

  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled):
(WebCore::RuntimeEnabledFeatures::cssRegionsEnabled):

  • dom/Document.cpp:

(WebCore::Document::cssRegionsEnabled):

  • page/Settings.cpp:

(WebCore::Settings::Settings):

  • page/Settings.h:

(Settings):

Source/WebKit/chromium:

  • public/WebRuntimeFeatures.h:

(WebRuntimeFeatures):

  • public/WebSettings.h: moved setExperimentalCSSRegionsEnabled to the bottom of the interface and made it a

no-op. After this patch lands and Chromium's webkit_rev is increased, we'll remove any callers in Chromium. Once
the Chromium callers are gone and WebKit's chromium_rev is increased, we'll remove the deprecated API.

  • src/WebRuntimeFeatures.cpp:

(WebKit::WebRuntimeFeatures::enableCSSRegions):
(WebKit):
(WebKit::WebRuntimeFeatures::isCSSRegionsEnabled):

  • src/WebSettingsImpl.cpp:
  • src/WebSettingsImpl.h:

(WebSettingsImpl):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setCSSRegionsEnabled):

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setCSSRegionsEnabled):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/qt:

  • Api/qwebsettings.cpp:

(QWebSettingsPrivate::apply):

Source/WebKit/win:

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setCSSRegionsEnabled):
(WebKit):

  • WebProcess/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::applyTo):

12:08 AM Changeset in webkit [136209] by keishi@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Layout Test fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103713

Unreviewed.

Rebaselining month-multiple-fields-preserve-value-after-history-back.html for Windows.

  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back-expected.txt: Added.

Nov 29, 2012:

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

PDFPlugin: Only plain text can be copied out of PDFs
https://bugs.webkit.org/show_bug.cgi?id=103591
<rdar://problem/12555161>

Reviewed by Alexey Proskuryakov.

Don't write zero-length data to the pasteboard, just skip the item.

As mentioned in the comment, we don't expect this to come up, and would like to know if it does,
so we assert that it doesn't happen in debug builds.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):

10:41 PM Changeset in webkit [136207] by Martin Robinson
  • 5 edits in trunk/Source

[GTK] [WebKit2] WebKitWebViewBase creates a GL context for the redirected XComposite window crashing WebKit in Xvfb
https://bugs.webkit.org/show_bug.cgi?id=103476

Reviewed by Alejandro G. Castro.

Source/WebCore:

Allow creation of RedirectedXCompositeWindow in a mode which does not have a backing
GLContext. For WebKit2 the GLContext is always in the WebProcess. Creating the GLContext
in both processes can cause crashes when library is run in Xvfb.

No new tests. This fixes a crash running tests on some systems.

  • platform/gtk/RedirectedXCompositeWindow.cpp:

(WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebCore::RedirectedXCompositeWindow::resize): Do not create the GLContext when
in the new no-GLContext mode.
(WebCore::RedirectedXCompositeWindow::context): ASSERT that we are not in
no-GLContext mode.

Source/WebKit2:

Create the RedirectedXCompositeWindow with an argument specifying that it
should never have a GLContext backing it.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):

10:15 PM Changeset in webkit [136206] by Lucas Forschler
  • 2 edits in tags/Safari-537.20/Source/WebKit2

Patch for <rdar://problem/12781591>.

9:46 PM Changeset in webkit [136205] by keishi@webkit.org
  • 14 edits
    2 adds in trunk

Better type ahead for DateTimeSymbolicFieldElement
https://bugs.webkit.org/show_bug.cgi?id=103031

Reviewed by Kent Tamura.

Source/WebCore:

This cuts out the type ahead code that will be used by HTMLSelectElement
and DateTimeSymbolicFieldElement into a TypeAhead class. This will
improve DateTimeSymbolicFieldElement type ahead which was first
character match only, by adding cycling, prefix match and index number
match.

Added tests to month-multiple-fields-keyboard-events.html.

  • GNUmakefile.list.am: Added TypeAhead.{h,cpp}
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • CMakeLists.txt: Ditto.
  • html/HTMLSelectElement.cpp:

(WebCore):
(WebCore::HTMLSelectElement::HTMLSelectElement):
(WebCore::HTMLSelectElement::indexOfSelectedOption): Returns index of current selection.
(WebCore::HTMLSelectElement::optionCount): Returns total number of options.
(WebCore::HTMLSelectElement::optionAtIndex): Returns option at index.
(WebCore::HTMLSelectElement::typeAheadFind): Use TypeAhead.

  • html/HTMLSelectElement.h:

(HTMLSelectElement):

  • html/TypeAhead.cpp: Added.

(WebCore):
(WebCore::TypeAhead::TypeAhead):
(WebCore::stripLeadingWhiteSpace): Moved from HTMLSelectElement.cpp.
(WebCore::TypeAhead::handleEvent): Returns index for match.

  • html/TypeAhead.h: Added.

(WebCore):
(TypeAheadDataSource): Provide the data about the options that TypeAhead should match against.
(TypeAhead):

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
(WebCore::DateTimeSymbolicFieldElement::indexOfSelectedOption):
(WebCore):
(WebCore::DateTimeSymbolicFieldElement::optionCount):
(WebCore::DateTimeSymbolicFieldElement::optionAtIndex):

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement):

LayoutTests:

  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html: Added tests for typeahead.
9:40 PM Changeset in webkit [136204] by rafaelw@chromium.org
  • 16 edits in trunk

[HTMLTemplateElement] Add feature flag
https://bugs.webkit.org/show_bug.cgi?id=103694

Reviewed by Adam Barth.

This flag will guard the implementation of the HTMLTemplateElement.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.features.am:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
9:30 PM Changeset in webkit [136203] by Lucas Forschler
  • 1 copy in tags/Safari-537.20

New Tag.

9:05 PM Changeset in webkit [136202] by keishi@webkit.org
  • 1 edit
    18 adds in trunk/LayoutTests

Add month-multiple-fields tests
https://bugs.webkit.org/show_bug.cgi?id=102046

Reviewed by Kent Tamura.

Adding tests for multiple field <input type=month>.

  • fast/forms/month-multiple-fields/month-multiple-fields-ax-aria-attributes-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-ax-aria-attributes.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-ax-value-changed-notification-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-ax-value-changed-notification.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-blur-and-focus-events-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-blur-and-focus-events.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-change-layout-by-value-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-change-layout-by-value.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-mouse-events-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-preserve-value-after-history-back.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-reset-value-after-reloads-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-reset-value-after-reloads.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-spinbutton-change-and-input-events.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-wheel-event-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-wheel-event.html: Added.
8:43 PM Changeset in webkit [136201] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Ignore errors when removing directories on win32 during autoinstall
https://bugs.webkit.org/show_bug.cgi?id=103699

Unreviewed, build fix.

I think this will work on win32; if not, I'll have to actually
reproduce this :). The problem is that the logilab files
appear to contain a write-protected file, and deleting those
is problematic on windows.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller._install):
(AutoInstaller.install):

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

Fix typo in commit 136189
https://bugs.webkit.org/show_bug.cgi?id=103706

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-29
Reviewed by Kentaro Hara.

Because of typo in commit 136189 blue color value was set twice for every pixel.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::setPixel):

7:42 PM Changeset in webkit [136199] by fpizlo@apple.com
  • 32 edits
    7 adds in trunk/Source

It should be easy to find code blocks in debug dumps
https://bugs.webkit.org/show_bug.cgi?id=103623

Source/JavaScriptCore:

Reviewed by Goeffrey Garen.

This gives CodeBlock a relatively strong, but also relatively compact, hash. We compute
it lazily so that it only impacts run-time when debug support is enabled. We stringify
it smartly so that it's short and easy to type. We base it on the source code so that
the optimization level is irrelevant. And, we use SHA1 since it's already in our code
base. Now, when a piece of code wants to print some debugging to say that it's operating
on some code block, it can use this CodeBlockHash instead of memory addresses.

This also takes CodeBlock debugging into the new world of print() and dataLog(). In
particular, CodeBlock::dump() corresponds to the thing you want printed if you do:

dataLog("I heart ", *myCodeBlock);

Probably, you want to just print some identifying information at this point rather than
the full bytecode dump. So, the existing CodeBlock::dump() has been renamed to
CodeBlock::dumpBytecode(), and CodeBlock::dump() now prints the CodeBlockHash plus just
a few little tidbits.

Here's an example of CodeBlock::dump() output:

EkILzr:[0x103883a00, BaselineFunctionCall]

EkILzr is the CodeBlockHash. 0x103883a00 is the CodeBlock's address in memory. The other
part is self-explanatory.

Finally, this new notion of CodeBlockHash is available for other purposes like bisecting
breakage. As such CodeBlockHash has all of the comparison operator overloads. When
bisecting in DFGDriver.cpp, you can now say things like:

if (codeBlock->hash() < CodeBlockHash("CAAAAA"))

return false;


And yes, CAAAAA is near the median hash, and the largest one is smaller than E99999. Such
is life when you use base 62 to encode a 32-bit number.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/CallLinkInfo.h:

(CallLinkInfo):
(JSC::CallLinkInfo::specializationKind):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hash):
(JSC):
(JSC::CodeBlock::dumpAssumingJITType):
(JSC::CodeBlock::dump):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::resetStubInternal):
(JSC::CodeBlock::reoptimize):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::tallyFrequentExitSites):
(JSC::CodeBlock::dumpValueProfiles):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::specializationKind):
(CodeBlock):
(JSC::CodeBlock::getJITType):

  • bytecode/CodeBlockHash.cpp: Added.

(JSC):
(JSC::CodeBlockHash::CodeBlockHash):
(JSC::CodeBlockHash::dump):

  • bytecode/CodeBlockHash.h: Added.

(JSC):
(CodeBlockHash):
(JSC::CodeBlockHash::CodeBlockHash):
(JSC::CodeBlockHash::hash):
(JSC::CodeBlockHash::operator==):
(JSC::CodeBlockHash::operator!=):
(JSC::CodeBlockHash::operator<):
(JSC::CodeBlockHash::operator>):
(JSC::CodeBlockHash::operator<=):
(JSC::CodeBlockHash::operator>=):

  • bytecode/CodeBlockWithJITType.h: Added.

(JSC):
(CodeBlockWithJITType):
(JSC::CodeBlockWithJITType::CodeBlockWithJITType):
(JSC::CodeBlockWithJITType::dump):

  • bytecode/CodeOrigin.cpp: Added.

(JSC):
(JSC::CodeOrigin::inlineDepthForCallFrame):
(JSC::CodeOrigin::inlineDepth):
(JSC::CodeOrigin::inlineStack):
(JSC::InlineCallFrame::hash):

  • bytecode/CodeOrigin.h:

(InlineCallFrame):
(JSC::InlineCallFrame::specializationKind):
(JSC):

  • bytecode/CodeType.cpp: Added.

(WTF):
(WTF::printInternal):

  • bytecode/CodeType.h:

(WTF):

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::dump):

  • bytecode/ExecutionCounter.h:

(ExecutionCounter):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpCodeOrigin):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGRepatch.cpp:

(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::dfgLinkClosureCall):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpCallFrame):

  • jit/JITCode.cpp: Added.

(WTF):
(WTF::printInternal):

  • jit/JITCode.h:

(JSC::JITCode::jitType):
(WTF):

  • jit/JITDisassembler.cpp:

(JSC::JITDisassembler::dump):
(JSC::JITDisassembler::dumpForInstructions):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/CodeSpecializationKind.cpp: Added.

(WTF):
(WTF::printInternal):

  • runtime/CodeSpecializationKind.h:

(JSC::specializationFromIsCall):
(JSC):
(JSC::specializationFromIsConstruct):
(WTF):

  • runtime/Executable.cpp:

(JSC::ExecutableBase::hashFor):
(JSC):
(JSC::NativeExecutable::hashFor):
(JSC::ScriptExecutable::hashFor):

  • runtime/Executable.h:

(ExecutableBase):
(NativeExecutable):
(ScriptExecutable):
(JSC::ScriptExecutable::source):

Source/WTF:

Reviewed by Geoffrey Garen.

Changed RawPointer to accept both const void* and void*, and use the former internally.

Cleaned up SHA1 so that the functionality already used internally for self-testing is
available via the API. This includes addBytes(CString) and computing hex digests.

  • wtf/RawPointer.h:

(WTF::RawPointer::RawPointer):
(RawPointer):
(WTF::RawPointer::value):

  • wtf/SHA1.cpp:

(WTF::expectSHA1):
(WTF::SHA1::hexDigest):
(WTF::SHA1::computeHexDigest):

  • wtf/SHA1.h:

(WTF::SHA1::addBytes):

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

Node::isDescendantOf contains logic that duplicates isDocumentNode
https://bugs.webkit.org/show_bug.cgi?id=103698

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-29
Reviewed by Hajime Morita.

Instead of checking for documents with node->document() == node just
use node->isDocumentNode().

  • dom/Node.cpp:

(WebCore::Node::isDescendantOf):

6:32 PM Changeset in webkit [136197] by ap@apple.com
  • 33 edits in trunk/Source

[WK2] Forward cookie jar calls to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=103457

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

PlatformCookieJar.h functions are now used in WebKit2.

  • loader/CookieJar.cpp:

(WebCore::cookies):
(WebCore::setCookies):
(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):
Use a strategy instead of going to PlatformCookieJar directly.

  • platform/Cookie.h: (Cookie): Added a default constructor, so that Cookie could be

sent over IPC.

  • platform/CookiesStrategy.h: Added functions for cookie jar.

Source/WebKit/efl:

  • WebCoreSupport/PlatformStrategiesEfl.cpp:

(PlatformStrategiesEfl::cookiesForDOM):
(PlatformStrategiesEfl::setCookiesFromDOM):
(PlatformStrategiesEfl::cookiesEnabled):
(PlatformStrategiesEfl::cookieRequestHeaderFieldValue):
(PlatformStrategiesEfl::getRawCookies):
(PlatformStrategiesEfl::deleteCookie):
(PlatformStrategiesEfl::getHostnamesWithCookies):
(PlatformStrategiesEfl::deleteCookiesForHostname):
(PlatformStrategiesEfl::deleteAllCookies):

Source/WebKit/gtk:

  • WebCoreSupport/PlatformStrategiesGtk.cpp:

(PlatformStrategiesGtk::cookiesForDOM):
(PlatformStrategiesGtk::setCookiesFromDOM):
(PlatformStrategiesGtk::cookiesEnabled):
(PlatformStrategiesGtk::cookieRequestHeaderFieldValue):
(PlatformStrategiesGtk::getRawCookies):
(PlatformStrategiesGtk::deleteCookie):
(PlatformStrategiesGtk::getHostnamesWithCookies):
(PlatformStrategiesGtk::deleteCookiesForHostname):
(PlatformStrategiesGtk::deleteAllCookies):

Source/WebKit/mac:

  • WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):
(WebPlatformStrategies::getHostnamesWithCookies):
(WebPlatformStrategies::deleteCookiesForHostname):
(WebPlatformStrategies::deleteAllCookies):
(WebPlatformStrategies::getPluginInfo):
(WebPlatformStrategies::bufferForType):
WebKit1 strategy just uses PlatformCookieJar.

Source/WebKit/qt:

  • WebCoreSupport/PlatformStrategiesQt.cpp:

(PlatformStrategiesQt::cookiesForDOM):
(PlatformStrategiesQt::setCookiesFromDOM):
(PlatformStrategiesQt::cookiesEnabled):
(PlatformStrategiesQt::cookieRequestHeaderFieldValue):
(PlatformStrategiesQt::getRawCookies):
(PlatformStrategiesQt::deleteCookie):
(PlatformStrategiesQt::getHostnamesWithCookies):
(PlatformStrategiesQt::deleteCookiesForHostname):
(PlatformStrategiesQt::deleteAllCookies):

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::cookiesForDOM):
(WebPlatformStrategies::setCookiesFromDOM):
(WebPlatformStrategies::cookiesEnabled):
(WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebPlatformStrategies::getRawCookies):
(WebPlatformStrategies::deleteCookie):
(WebPlatformStrategies::getHostnamesWithCookies):
(WebPlatformStrategies::deleteCookiesForHostname):
(WebPlatformStrategies::deleteAllCookies):

Source/WebKit/wince:

  • WebCoreSupport/PlatformStrategiesWinCE.cpp:

(PlatformStrategiesWinCE::cookiesForDOM):
(PlatformStrategiesWinCE::setCookiesFromDOM):
(PlatformStrategiesWinCE::cookiesEnabled):
(PlatformStrategiesWinCE::cookieRequestHeaderFieldValue):
(PlatformStrategiesWinCE::getRawCookies):
(PlatformStrategiesWinCE::deleteCookie):
(PlatformStrategiesWinCE::getHostnamesWithCookies):
(PlatformStrategiesWinCE::deleteCookiesForHostname):
(PlatformStrategiesWinCE::deleteAllCookies):

Source/WebKit2:

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:

Added messages to maniputate CookieJar in network process.

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp: Removed unnecessary WebCore:: prefixes,

this file has a using direcive.
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
(WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
(WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
(WebKit::NetworkConnectionToWebProcess::getRawCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookie):
(WebKit::NetworkConnectionToWebProcess::getHostnamesWithCookies):
(WebKit::NetworkConnectionToWebProcess::deleteCookiesForHostname):
(WebKit::NetworkConnectionToWebProcess::deleteAllCookies):
Added implementations that use PlatformCookieJar in the network process.

  • Scripts/webkit2/messages.py: (struct_or_class):
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):
Added support for Cookie.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::getHostnamesWithCookies):
(WebKit::WebPlatformStrategies::deleteCookiesForHostname):
(WebKit::WebPlatformStrategies::deleteAllCookies):
When using the network process, forward cookie calls to it.

6:28 PM Changeset in webkit [136196] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r136167.
http://trac.webkit.org/changeset/136167
https://bugs.webkit.org/show_bug.cgi?id=103701

Win debug build failure (Requested by zhenyao on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-29

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(LazyDecodingPixelRef):

6:23 PM Changeset in webkit [136195] by dpranke@chromium.org
  • 2 edits in trunk/Tools

webkitpy: autoinstaller is failing on windows
https://bugs.webkit.org/show_bug.cgi?id=103699

Unreviewed, build fix.

We're attempting to create directories with forward slashes in them;
this is a no-no on windows.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller._create_scratch_directory_inner):

6:22 PM Changeset in webkit [136194] by dgrogan@chromium.org
  • 12 edits in trunk/Source

IndexedDB: Propagate more leveldb errors to script
https://bugs.webkit.org/show_bug.cgi?id=103580

Reviewed by Tony Chang.

Source/WebCore:

LevelDBDatabase used a single return value to indicate both I/O problems
and a missing key. Now an out variable is used to indicate if the
requested key was found. The return value is used to report corruption
or disk error.

This is a small step toward propagating low level errors everywhere
possible. So far only one scenario will newly cause script to receive
an error: when leveldb has trouble looking for existing keys during an
objectstore->add.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::getInt):
(WebCore::getVarInt):
(WebCore::getString):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):

  • Modules/indexeddb/IDBBackingStore.h:

(IDBBackingStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::generateKey):
(WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(IDBObjectStoreBackendImpl):

  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::LevelDBDatabase::safeGet):

  • platform/leveldb/LevelDBDatabase.h:

(LevelDBDatabase):

  • platform/leveldb/LevelDBTransaction.cpp:

(WebCore::LevelDBTransaction::safeGet):
(WebCore):
(WebCore::LevelDBTransaction::get):

  • platform/leveldb/LevelDBTransaction.h:

(LevelDBTransaction):

Source/WebKit/chromium:

  • tests/IDBFakeBackingStore.h: Update method signatures.
6:18 PM Changeset in webkit [136193] by commit-queue@webkit.org
  • 23 edits in trunk/Source/WebKit2

Instantiate snapshot plugins in a PluginProcess with muted audio
https://bugs.webkit.org/show_bug.cgi?id=101536

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-11-29
Reviewed by Anders Carlsson.

Plugins created for generation of a snapshot should be instantiated in a separate process with
muted audio so that any sound generated during the snapshot process is not audible to the user.

  • Configurations/WebKit2.xcconfig: Add CoreAudio to the list of linked frameworks.
  • PluginProcess/PluginProcess.h: Add PluginProcess::Type enum with values for regular and

snapshot process types. Provide DefaultHash and IsInteger template specializations for the enum
so that PluginProcessConnectionManager can store it in a HashMap.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::muteAudio):
(WebKit::PluginProcess::platformInitialize): Mute audio if the process creation parameters indicate
that the plugin process type is snapshot process.

  • Shared/Plugins/PluginProcessCreationParameters.cpp:

(WebKit::PluginProcessCreationParameters::encode):
(WebKit::PluginProcessCreationParameters::decode):

  • Shared/Plugins/PluginProcessCreationParameters.h: Add processType process creation parameter.
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::getPluginProcessConnection): Add process type parameter.
(WebKit::PluginProcessManager::getSitesWithData): Forward message to regular plugin process only.
(WebKit::PluginProcessManager::clearSiteData): Forward message to regular plugin process only.
(WebKit::PluginProcessManager::pluginProcessWithPath): Add process type parameter.
(WebKit::PluginProcessManager::getOrCreatePluginProcess): Ditto.

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::create): Add process type parameter.
(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::didClose): Include process type with the plugin process crashed message.
(WebKit::PluginProcessProxy::didFinishLaunching): Set process type process creation parameter.

  • UIProcess/Plugins/PluginProcessProxy.h:

(WebKit::PluginProcessProxy::processType):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPluginProcessConnection): Pass along process type parameter to
PluginProcessManager.

  • UIProcess/WebProcessProxy.h:

(WebProcessProxy):

  • UIProcess/WebProcessProxy.messages.in: Add process type parameter to GetPluginProcessConnection message.
  • WebProcess/Plugins/PluginProcessConnection.cpp:

(WebKit::PluginProcessConnection::PluginProcessConnection): Add process type parameter.

  • WebProcess/Plugins/PluginProcessConnection.h:

(WebKit::PluginProcessConnection::create): Ditto.
(WebKit::PluginProcessConnection::processType): Ditto.

  • WebProcess/Plugins/PluginProcessConnectionManager.cpp:

(WebKit::PluginProcessConnectionManager::getPluginProcessConnection): Add process type parameter.
(WebKit::PluginProcessConnectionManager::removePluginProcessConnection): Use process type in addition to
plugin path to find the connection to remove.
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed): Add process type parameter.

  • WebProcess/Plugins/PluginProcessConnectionManager.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::create): Ditto.
(WebKit::PluginProxy::PluginProxy): Ditto.
(WebKit::PluginProxy::initialize): Add process type parameter in call to
PluginProcessConnectionManager::getPluginProcessConnection.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Determine process type based on display state of plugin element and
pass it to PluginProxy::create.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::pluginProcessCrashed): Pass along process type parameter to
PluginProcessConnectionManager.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in: Add process type parameter to PluginProcessCrashed message.
6:11 PM Changeset in webkit [136192] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Fix python unit tests after r136158 (android port tests failing)
https://bugs.webkit.org/show_bug.cgi?id=103581

Unreviewed, build fix.

The unit tests apparently weren't ran for this patch; we failed
to update the mock executive calls out to adb to determine various
aspects of the environment, and were failing to create drivers.

  • Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:

(MockRunCommand.mock_run_command_fn):

5:42 PM Changeset in webkit [136191] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Unreviewed, rolling out r136171.
http://trac.webkit.org/changeset/136171
https://bugs.webkit.org/show_bug.cgi?id=103695

Likely caused ReOpenedWithID and ReOpenedWithURL to fail in
linux/chromeos (Requested by zhenyao on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-29

Source/WebCore:

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::startMainThreadMonitoring):
(WebCore::InspectorClient::stopMainThreadMonitoring):

  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h:

(InspectorController):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::willProcessTaskImpl):
(WebCore::InspectorInstrumentation::didProcessTaskImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willProcessTask):
(WebCore):
(WebCore::InspectorInstrumentation::didProcessTask):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):

Source/WebKit/chromium:

  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::startMainThreadMonitoring):
(WebKit):
(WebKit::InspectorClientImpl::stopMainThreadMonitoring):
(WebKit::InspectorClientImpl::willProcessTask):
(WebKit::InspectorClientImpl::didProcessTask):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::detach):

  • src/WebDevToolsAgentImpl.h:

(WebDevToolsAgentImpl):

5:25 PM Changeset in webkit [136190] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Initialize m_xpcConnection to null if the identifier doesn't have an XPC connection
https://bugs.webkit.org/show_bug.cgi?id=103689

Reviewed by Darin Adler.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::platformInitialize):

5:15 PM Changeset in webkit [136189] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Optimization in image decoding.
https://bugs.webkit.org/show_bug.cgi?id=88424

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-29
Reviewed by Brent Fulgham.

Reduce branching and multiplications in JPEG image decoding loops and functions.
Code is moved to the template functions with scale and color space template parameters
because they were reason of branches inside loops. With templated funtions compiler
will generate separate instance of function for every set of parameters removing
unreachable code in every condition where constant value is used.

Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com> .

Thanks to Noel Gordon for his help in cleaning up remaining issues.

Covered by existing tests.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore):
(WebCore::setPixel):
(WebCore::JPEGImageDecoder::outputScanlines):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:

(JPEGImageDecoder):

5:13 PM Changeset in webkit [136188] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r135862.
http://trac.webkit.org/changeset/135862
https://bugs.webkit.org/show_bug.cgi?id=103367

We've been observing 'Fatal error in
v8::V8::AddMessageListener()' in bots

  • bindings/v8/V8Binding.cpp:

(WebCore::v8NonStringValueToWebCoreString):

  • bindings/v8/V8StringResource.cpp:

(WebCore::int32ToWebCoreStringFast):
(WebCore::int32ToWebCoreString):

  • bindings/v8/V8StringResource.h:

(WebCore::V8StringResource::V8StringResource):
(WebCore::V8StringResource::prepareBase):
(WebCore::V8StringResource::setString):
(V8StringResource):
(WebCore::V8StringResource::toString):
(WebCore::::prepare):

5:06 PM Changeset in webkit [136187] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: optimize repaint regions upon text editing
https://bugs.webkit.org/show_bug.cgi?id=103674

Reviewed by Vsevolod Vlasov.

There is a lot happening that makes repaint area larger than it should be,
namely unnecessary tabbed pane and navigator updates.

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorView.prototype._updateScriptTitle):

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPaneTab.prototype.set title):

5:02 PM Changeset in webkit [136186] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Remove deprecated API since it is no longer used
https://bugs.webkit.org/show_bug.cgi?id=103570

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-29
Reviewed by Adam Barth.

Remove WebPluginContainer::setIsAcceptingTouchEvents, since this is not used anymore,
in favour of WebPluginContainer::requestTouchEventType.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

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

Unused parameters on plugins/npapi.cpp
https://bugs.webkit.org/show_bug.cgi?id=103676

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-29
Reviewed by Kentaro Hara.

Because 'instance' and 'menu' are not used when !PLATFORM(QT)
!defined(XP_MACOSX),

use UNUSED_PARAM macro to fix build warning -Wunused-parameter

  • plugins/npapi.cpp:

(NPN_PopUpContextMenu):

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

REGRESSION(r134693): Compilation error on @supports grammar code
https://bugs.webkit.org/show_bug.cgi?id=103678

Patch by Pablo Flouret <pablof@motorola.com> on 2012-11-29
Reviewed by Tony Chang.

Coming from https://bugs.webkit.org/show_bug.cgi?id=102295

No new tests, compile fix.

  • css/CSSGrammar.y.in:
4:31 PM Changeset in webkit [136183] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r136175 and r136177.
http://trac.webkit.org/changeset/136175
http://trac.webkit.org/changeset/136177
https://bugs.webkit.org/show_bug.cgi?id=103683

Changes did not correct Windows build. (Requested by bfulgham
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-29

  • TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp:
4:29 PM Changeset in webkit [136182] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

4:29 PM Changeset in webkit [136181] by Christophe Dumez
  • 3 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Use OwnPtr for LayerMap's layers in LayerTreeRenderer
https://bugs.webkit.org/show_bug.cgi?id=103650

Reviewed by Noam Rosenthal.

We currently store raw pointers to WebCore::GraphicsLayer in the LayerMap
meaning that we need to delete them manually. This patch leverages smart
pointers and stores layers as OwnPtr in the LayerMap so that the layers
are owned by the HashMap and we don't have to handle memory manually.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::ensureLayer):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
4:28 PM Changeset in webkit [136180] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.4

New Tag.

4:20 PM Changeset in webkit [136179] by Simon Fraser
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12781055>

Merge r136174

2012-11-29 Simon Fraser <Simon Fraser>

Avoid painting lots of small rects in WebLayer painting
https://bugs.webkit.org/show_bug.cgi?id=103673

Reviewed by Tim Horton.

r109186 added code in drawLayerContents() to enumerate over the rects in
the CALayer's dirty region, and paint them individually. This was done
to help performance on the IE Maze Solver test.

On large, complex pages like Facebook, the overhead of traversing the
RenderLayer tree for painting is such that it's better to paint a single,
or fewer rects rather than lots of little ones.

So adopt a heuristic similar to that in DrawingArea, where if the
combined area of the small rects is 75% or more of the combined rect,
just paint the combined rect. Also paint the combined rect if there
are more than 5 individual rects.

I verified that this preserves the optimization for IE Maze Solver.

  • platform/graphics/mac/WebLayer.mm: (drawLayerContents):
4:01 PM Changeset in webkit [136178] by andersca@apple.com
  • 19 edits in trunk/Source/WebKit2

Add a minimumLayoutWidth WKView property
https://bugs.webkit.org/show_bug.cgi?id=103660
<rdar://problem/11791729>

Reviewed by Beth Dakin.

When minimumLayoutWidth is set to a positive value, the WKView will update its intrinsic content size given the layout width.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::intrinsicContentSizeDidChange):
Call the WKView.

  • UIProcess/API/mac/WKView.mm:

(-[WKView intrinsicContentSize]):
Override the intrinsicContentSize getter.

(-[WKView _setIntrinsicContentSize:]):
Update the intrinsic content size and mark it as invalid.

(-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
By default, the WKView should have no intrinsic size.

(-[WKView minimumLayoutWidth]):
(-[WKView setMinimumLayoutWidth:]):
Call through to the WebPageProxy object.

  • UIProcess/API/mac/WKViewPrivate.h:

Add the SPI here.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::minimumLayoutWidthDidChange):
(WebKit::DrawingAreaProxy::didUpdateGeometry):
(WebKit::DrawingAreaProxy::intrinsicContentSizeDidChange):
Add empty stubs.

  • UIProcess/DrawingAreaProxy.messages.in:

Update the DidUpdateGeometry signature and add IntrinsicContentSizeDidChange.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Initialize the minimum layout width.

(WebKit::WebPageProxy::setMinimumLayoutWidth):
Update the minimum layout width and call the drawing area proxy.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::minimumLayoutWidth):
Add getter.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:

(TiledCoreAnimationDrawingAreaProxy):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutWidthDidChange):
Update the geometry if needed.

(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
Update the intrinsic content size.

(WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
Call through to WebPageProxy::intrinsicContentSizeDidChange.

(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
Pass along the minimum layout width.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::intrinsicContentSizeDidChange):
Call through to the page client.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentsSizeChanged):
Call DrawingArea::mainFrameContentSizeChanged.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::mainFrameContentSizeChanged):
Add empty stub.

(WebKit::DrawingArea::updateGeometry):
Update signature.

  • WebProcess/WebPage/DrawingArea.messages.in:

Add minimumLayoutWidth to UpdateGeometry.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
If the content size change is not coming from updateGeometry, send an InstrinsicContentSizeDidChange message.

(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
If m_minimumLayoutWidth is positive, do an initial layout pass to figure out the height of the page and then do another
layout with the viewport set to that height.

3:40 PM Changeset in webkit [136177] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[Windows, WinCairo] Unreviewed build correction. Correct debug
build case on build machine.

  • TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp:
3:37 PM Changeset in webkit [136176] by zmo@google.com
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-29

  • DEPS:
3:30 PM Changeset in webkit [136175] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[Windows, WinCairo] Unreviewed build correction. Hide the
unexported 'notSolidColor' symbol when testing against
the BitmapImage class to avoid having to deal with a
debug-only symbol in the Windows export definition file.

  • TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp:
3:21 PM Changeset in webkit [136174] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid painting lots of small rects in WebLayer painting
https://bugs.webkit.org/show_bug.cgi?id=103673

Reviewed by Tim Horton.

r109186 added code in drawLayerContents() to enumerate over the rects in
the CALayer's dirty region, and paint them individually. This was done
to help performance on the IE Maze Solver test.

On large, complex pages like Facebook, the overhead of traversing the
RenderLayer tree for painting is such that it's better to paint a single,
or fewer rects rather than lots of little ones.

So adopt a heuristic similar to that in DrawingArea, where if the
combined area of the small rects is 75% or more of the combined rect,
just paint the combined rect. Also paint the combined rect if there
are more than 5 individual rects.

I verified that this preserves the optimization for IE Maze Solver.

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

3:17 PM Changeset in webkit [136173] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] window.open can load url twice which can cause security and timing issues
https://bugs.webkit.org/show_bug.cgi?id=103670

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Yong Li.

PR: 252234
When we call window.open() in JS, DOMWindow will create a window and
change the url to load the resources. However, during the window
creation, we dispatch an OpenWindow event with the url to browser side
and browser side loads the url thereafter as well.
DOMWindow::createWindow() is only required to create the window not to
load url as far as I can tell. This is unneccessary and can cause
unexpected issues. So just pass an empty url instead to avoid
the double-load issue.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::createWindow):

3:16 PM Changeset in webkit [136172] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

CoreIPC::Connection should retain its xpc_connection_t
https://bugs.webkit.org/show_bug.cgi?id=103671
<rdar://problem/12717331>

Reviewed by Beth Dakin.

  • Platform/CoreIPC/mac/ConnectionMac.cpp:

(CoreIPC::Connection::platformInitialize):
Retain the xpc_connection_t object here to balance the xpc_object_release in platformInvalidate.

3:07 PM Changeset in webkit [136171] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Source/WebCore: Web Inspector: Web Inspector: Make main-thread monitoring go through InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=103550

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-11-29
Reviewed by Pavel Feldman.

InspectorInstrumentation was a wrong path.

  • inspector/InspectorClient.h: Remove start/stop methods.
  • inspector/InspectorController.cpp:

Dispatch main thread activity notifications.

  • inspector/InspectorController.h: Ditto.
  • inspector/InspectorInstrumentation.cpp: Remove dispatching.
  • inspector/InspectorInstrumentation.h: Ditto.
  • inspector/InspectorTimelineAgent.cpp:

Do not subscribe for notifications explicitly.

Source/WebKit/chromium: Web Inspector: Make main-thread monitoring go through InspectorController.
https://bugs.webkit.org/show_bug.cgi?id=103550

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-11-29
Reviewed by Pavel Feldman.

InspectorInstrumentation was a wrong path

  • src/InspectorClientImpl.cpp: Remove TaskObserver implementation, and

listen/unlisten methods.

  • src/InspectorClientImpl.h: Ditto.
  • src/WebDevToolsAgentImpl.cpp:

(WebKit::WebDevToolsAgentImpl::attach):
Subscribe for main thread activity events.
(WebKit::WebDevToolsAgentImpl::detach):
Unsubscribe for main thread activity events.
(WebKit::WebDevToolsAgentImpl::willProcessTask): Implement TaskObserver
interface. Froward to InspectorController.
(WebKit::WebDevToolsAgentImpl::didProcessTask): Ditto.

  • src/WebDevToolsAgentImpl.h: Implement TaskObserver interface.
3:06 PM Changeset in webkit [136170] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

3:04 PM Changeset in webkit [136169] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.3

New Tag.

2:59 PM Changeset in webkit [136168] by abarth@webkit.org
  • 6 edits in trunk/Source/WebCore

[V8] DOM callbacks shouldn't reimplement ScopedPersistent they should use it
https://bugs.webkit.org/show_bug.cgi?id=103662

Reviewed by Eric Seidel.

This patch replaces yet another instance of the ScopedPersistent
pattern with ScopedPersistent.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallbackHeader):
(GenerateCallbackImplementation):

  • bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:

(WebCore::V8SQLStatementErrorCallback::handleEvent):

  • bindings/v8/custom/V8MutationCallbackCustom.cpp:

(WebCore::V8MutationCallback::handleEvent):

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

Make LazyDecodingPixelRef inherit from skia::LazyPixelRef so that cc thread can access it
https://bugs.webkit.org/show_bug.cgi?id=103555

Patch by Min Qin <qinmin@chromium.org> on 2012-11-29
Reviewed by Stephen White.

Expose LazyDecodingPixelRef to the cc thread by inheriting from skia::LazyPixelRef.
No test added for now as impl side paiting is still WIP.

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::PrepareToDecode):
(WebCore):
(WebCore::LazyDecodingPixelRef::Decode):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(LazyDecodingPixelRef):

2:26 PM Changeset in webkit [136166] by jchaffraix@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • WebCore.gypi:

The new file is GridTrackSize.h not GridTrackSizes.h. For some reason, the
EWS didn't complain.

2:26 PM Changeset in webkit [136165] by zmo@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, WebKit gardening.

  • platform/chromium/TestExpectations:
2:18 PM Changeset in webkit [136164] by jknotten@chromium.org
  • 4 edits
    4 adds in trunk

Use GeolocationController's last geoposition as cached position.
https://bugs.webkit.org/show_bug.cgi?id=103540

Reviewed by Benjamin Poulain.

The page's GeolocationController mediates access to the
GeolocationClient for multiple frames' Geolocation instances. This
patch changes the position cache to be on the GeolocationController
rather than on the Geolocation instance.

This fixes a bug where if one frame has has received a fresh
position, then a request for a cached position from a second frame
does not succeed because the Geolocation instance in the second
frame's position cache hasn't received the position update that
went to the first frame.

Source/WebCore:

Test: fast/dom/Geolocation/cached-position-iframe.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::makeCachedPositionCallbacks):
(WebCore::Geolocation::haveSuitableCachedPosition):
(WebCore::Geolocation::positionChanged):

  • Modules/geolocation/Geolocation.h:
  • Modules/geolocation/GeolocationController.h:

(GeolocationController):

LayoutTests:

  • fast/dom/Geolocation/cached-position-iframe-expected.txt: Added.
  • fast/dom/Geolocation/cached-position-iframe.html: Added.
  • fast/dom/Geolocation/resources/cached-position-iframe-inner.html: Added.
  • fast/dom/Geolocation/script-tests/cached-position-iframe.js: Added.

(window.onmessage):

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

Web Inspector: Allow sorting in NMI snapshot grid view
https://bugs.webkit.org/show_bug.cgi?id=102955

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-29
Reviewed by Yury Semikhatsky.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotDataGrid.prototype.sortingChanged):
(WebInspector.NativeSnapshotDataGrid.prototype._sortingFunction):
(WebInspector.NativeSnapshotNode):
(WebInspector.NativeSnapshotNode.prototype._storeState):
(WebInspector.NativeSnapshotNode.prototype._restoreState):
(WebInspector.NativeSnapshotNode.prototype.uid):
(WebInspector.NativeSnapshotNode.prototype._createSizeCell):

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

[BlackBerry] Modifying GeoClientBlackBerry to switch between high and low accuracy
https://bugs.webkit.org/show_bug.cgi?id=103666

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-29
Reviewed by Yong Li.

Internally reviewed by Yong Li.

PR 243420

Updating GeolocationClientBlackBerry to switch accuracy when GeolocationController
calls setEnableHighAccuracy.

  • WebCoreSupport/GeolocationClientBlackBerry.cpp:

(GeolocationClientBlackBerry::startUpdating):
(GeolocationClientBlackBerry::setEnableHighAccuracy):

1:52 PM Changeset in webkit [136161] by zmo@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed, WebKit gardening.

  • platform/chromium/TestExpectations:
1:35 PM Changeset in webkit [136160] by schenney@chromium.org
  • 22 edits
    2 adds in trunk/LayoutTests

[Chromium] Skia rebaseline after we made kSrc_Mode go faster

Unreviewed expectations update.

Some of these are still crashing on Debug.

  • platform/chromium-mac-lion/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
  • platform/chromium-mac-lion/svg/carto.net/colourpicker-expected.png:
  • platform/chromium-mac-lion/svg/custom/invalid-uri-stroke-expected.png:
  • platform/chromium-mac-lion/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac-lion/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/chromium-mac-snowleopard/svg/carto.net/colourpicker-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/invalid-uri-stroke-expected.png:
  • platform/chromium-mac-snowleopard/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/chromium-mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
  • platform/chromium-mac/svg/carto.net/colourpicker-expected.png:
  • platform/chromium-mac/svg/custom/gradient-stop-corner-cases-expected.png:
  • platform/chromium-mac/svg/custom/invalid-uri-stroke-expected.png:
  • platform/chromium-mac/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/chromium-win-xp/svg/carto.net: Added.
  • platform/chromium-win-xp/svg/carto.net/colourpicker-expected.png: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
  • platform/chromium-win/svg/custom/invalid-uri-stroke-expected.png:
  • platform/chromium-win/svg/wicd/test-scalable-background-image1-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-mask-with-percentages-expected.png:
  • platform/chromium/TestExpectations:
1:31 PM Changeset in webkit [136159] by bfulgham@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Windows, WinCairo] Unreviewed build fix. Build was failing
because the export definition file included a debug-only
symbol. It's not needed and shouldn't be included for export.

  • win/WebKit2.def: Don't require notSolidColor to be exported.
  • win/WebKit2CFLite.def: Ditto.
1:27 PM Changeset in webkit [136158] by peter@chromium.org
  • 2 edits in trunk/Tools

run-perf-tests --chromium-android should not require adb in my path
https://bugs.webkit.org/show_bug.cgi?id=103581

Reviewed by Eric Seidel.

Remove the need to have "adb" available in the path for Layout and Performance
tests. We'll determine the versions of the "adb" version in path (if any) and
the one provided in the Chromium Android checkout. Unless the "adb" available
in the path is newer, the provided version will be used.

Some other minor nits addressed:

  • The path_to_forwarder/path_to_md5sum should not be in the "private overrides" section, as they're not overriding anything and are used by the driver.
  • Make _restart_adb_as_root slightly more robust by waiting for the device to come back online regardless of the output.
  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.init):
(ChromiumAndroidPort.check_build):
(ChromiumAndroidPort.path_to_adb):
(ChromiumAndroidPort):
(ChromiumAndroidPort.path_to_forwarder):
(ChromiumAndroidPort.path_to_md5sum):
(ChromiumAndroidPort._path_to_helper):
(ChromiumAndroidPort._determine_adb_version):
(ChromiumAndroidPort._get_devices):
(ChromiumAndroidDriver.init):
(ChromiumAndroidDriver._setup_md5sum_and_push_data_if_needed):
(ChromiumAndroidDriver._push_executable):
(ChromiumAndroidDriver._restart_adb_as_root):

1:25 PM Changeset in webkit [136157] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Do not adjust scroll position on viewport resizes that are not orientation change related
https://bugs.webkit.org/show_bug.cgi?id=103659

Patch by Andrew Lo <anlo@rim.com> on 2012-11-29
Reviewed by Rob Buis.
Internally reviewed by Gen Mak.

Internal PR253893.
Only adjust scroll position during an orientation change
when setting viewport size.
We don't want the scroll position jumping around when opening
& closing the VKB.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

1:22 PM Changeset in webkit [136156] by schenney@chromium.org
  • 20 edits
    4 adds
    3 deletes in trunk/LayoutTests

[Chromium] Rebaseline after removed double drawing of clipped hairlines at edges

Unreviewed expectations update

  • platform/chromium-linux-x86/svg/hixie/perf/003-expected.png: Removed.
  • platform/chromium-mac-lion/fast/repaint/list-marker-expected.png: Added.
  • platform/chromium-mac-lion/svg/hixie/perf/001-expected.png: Added.
  • platform/chromium-mac-lion/svg/hixie/perf/002-expected.png: Added.
  • platform/chromium-mac-lion/svg/hixie/perf/003-expected.png:
  • platform/chromium-mac-lion/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
  • platform/chromium-mac-lion/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/list-marker-expected.png:
  • platform/chromium-mac-snowleopard/svg/hixie/perf/001-expected.png:
  • platform/chromium-mac-snowleopard/svg/hixie/perf/002-expected.png:
  • platform/chromium-mac-snowleopard/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
  • platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-mac/fast/repaint/list-marker-expected.png:
  • platform/chromium-mac/svg/hixie/perf/001-expected.png:
  • platform/chromium-mac/svg/hixie/perf/002-expected.png:
  • platform/chromium-mac/svg/hixie/perf/003-expected.png:
  • platform/chromium-mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
  • platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/chromium-win/fast/repaint/list-marker-expected.png:
  • platform/chromium-win/svg/hixie/perf/001-expected.png:
  • platform/chromium-win/svg/hixie/perf/002-expected.png:
  • platform/chromium-win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
  • platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
  • platform/gtk/svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Removed.
  • platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Removed.
  • svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Added.
1:08 PM Changeset in webkit [136155] by schenney@chromium.org
  • 22 edits
    6 adds
    3 deletes in trunk/LayoutTests

[Chromium] Rebaseline after SK_DISABLE_EXTRACTSUBSET_OPAQUE_FIX was removed

Unreviewed test expectations update.

  • platform/chromium-linux-x86/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Removed.
  • platform/chromium-linux-x86/svg/custom/clip-mask-negative-scale-expected.png: Removed.
  • platform/chromium-linux/svg/transforms/text-with-mask-with-svg-transform-expected.png:
  • platform/chromium-mac-lion/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Added.
  • platform/chromium-mac-lion/fast/borders/border-image-rotate-transform-expected.png: Added.
  • platform/chromium-mac-lion/fast/forms/select-style-expected.png: Added.
  • platform/chromium-mac-lion/svg/custom/clip-mask-negative-scale-expected.png: Added.
  • platform/chromium-mac-lion/svg/custom/focus-ring-expected.png: Added.
  • platform/chromium-mac-lion/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/borders/border-image-rotate-transform-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/select-style-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/clip-mask-negative-scale-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/focus-ring-expected.png:
  • platform/chromium-mac-snowleopard/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/chromium-mac/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/chromium-mac/fast/borders/border-image-rotate-transform-expected.png:
  • platform/chromium-mac/fast/borders/border-image-side-reduction-expected.png:
  • platform/chromium-mac/fast/forms/select-style-expected.png:
  • platform/chromium-mac/svg/custom/clip-mask-negative-scale-expected.png:
  • platform/chromium-mac/svg/custom/focus-ring-expected.png:
  • platform/chromium-mac/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/chromium-win-xp/svg/custom/clip-mask-negative-scale-expected.png: Removed.
  • platform/chromium-win/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png:
  • platform/chromium-win/fast/borders/border-image-rotate-transform-expected.png:
  • platform/chromium-win/fast/borders/borderRadiusDashed06-expected.png:
  • platform/chromium-win/svg/custom/clip-mask-negative-scale-expected.png:
  • platform/chromium-win/svg/custom/focus-ring-expected.png:
  • platform/chromium-win/svg/transforms/animated-path-inside-transformed-html-expected.png:
  • platform/chromium/TestExpectations:
1:05 PM Changeset in webkit [136154] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFPlugin: Only plain text can be copied out of PDFs
https://bugs.webkit.org/show_bug.cgi?id=103591
<rdar://problem/12555161>

Reviewed by Alexey Proskuryakov.

Enable rich data to be copied from PDFKit to the pasteboard.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(PDFPlugin): Add writeItemsToPasteboard.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): Move implementation to PDFPlugin.
(WebKit::PDFPlugin::writeItemsToPasteboard): Don't round-trip through WebCore for pasteboard operations,
use WebContext directly. This provides a simple way to hand over a buffer for complex pasteboard types
(RTF, HTML, etc.). Use this interface for arbitrary non-plain-text pasteboard data that PDFKit hands us.

12:44 PM Changeset in webkit [136153] by schenney@chromium.org
  • 14 edits
    7 adds
    15 deletes in trunk/LayoutTests

[Chromium] Expectations update

Unreviewed expectation.

These expectations seem to have been rebaselined in error or missed
being rebaselined during the great Skia rebaseline of Thanksgiving
Day. This fixes some failing expectations and removes some incorrect
expectations that crept in.

  • fast/repaint/bugzilla-6278-expected.png: Added.
  • fast/repaint/invisible-objects-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-lion/fast/repaint/bugzilla-6278-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/invisible-objects-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/bugzilla-6278-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/text/line-initial-and-final-swashes-expected.png: Removed.
  • platform/chromium-mac/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac/fast/repaint/bugzilla-6278-expected.png: Added.
  • platform/chromium-mac/fast/repaint/iframe-scroll-repaint-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-win-xp/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-win/fast/repaint/body-background-image-expected.png:
  • platform/chromium-win/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-win/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-win/fast/repaint/invisible-objects-expected.png: Added.
  • platform/chromium-win/fast/text/font-initial-expected.png:
  • platform/chromium-win/fast/text/line-initial-and-final-swashes-expected.png: Removed.
  • platform/chromium-win/fast/text/line-initial-and-final-swashes-expected.txt: Removed.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/js/date-toisostring-expected.txt: Removed.
  • platform/chromium/fast/js/toString-and-valueOf-override-expected.txt: Removed.
  • platform/chromium/fast/repaint/bugzilla-6278-expected.png: Removed.
  • platform/chromium/fast/repaint/iframe-scroll-repaint-expected.png: Removed.
  • platform/chromium/fast/repaint/invisible-objects-expected.png: Removed.
  • platform/chromium/svg/custom/getBBox-path-expected.txt: Removed.
  • platform/chromium/svg/custom/global-constructors-expected.txt: Removed.
  • platform/efl/fast/repaint/bugzilla-6278-expected.png: Removed.
  • platform/efl/fast/repaint/invisible-objects-expected.png: Removed.
  • platform/gtk/fast/repaint/bugzilla-6278-expected.png: Removed.
  • platform/gtk/fast/repaint/invisible-objects-expected.png: Removed.
12:36 PM Changeset in webkit [136152] by commit-queue@webkit.org
  • 14 edits in trunk

[GTK] [WebKit2] Embed the HTTP authentication dialog into the WebView
https://bugs.webkit.org/show_bug.cgi?id=103277

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-11-29
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Refactor the WebCore authentication dialog so that it can be reused for the WebKit2
embedded authentication dialog. The main purpose of this refactor is so that the
dialog does not rely on GtkDialog to add the action buttons to the dialog itself.
This also simplifies the structure of the dialog, using the GtkTable or GtkGrid to
contain more of the widget elements, greatly simplifying this code. We also expose
a new constructor that does not create the parent GtkDialog -- so that WebKit2
can embed the dialog directly into the WebView.

No new tests. This shouldn't change behavior, only slightly the look of the authentication
dialog.

  • platform/gtk/GtkAuthenticationDialog.cpp:

(WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added this new constructor
which does not add the dialog contents to a GtkDialog.
(WebCore::packTwoColumnLayoutInBox): Added this generic method for creating a two column
layout in the style the dialog box needs (for both GTK+ 2.x and GTK+ 3.x).
(WebCore::createDialogLabel): Added this helper.
(WebCore::createDialogEntry): ditto.
(WebCore::GtkAuthenticationDialog::createContentsInContainer): Added this method which
can be used by subclasses to add the guts of the dialog to the parent container.
(WebCore::GtkAuthenticationDialog::show): Added some focus/default handling code that
GtkDialog was calling before.
(WebCore::GtkAuthenticationDialog::buttonClickedCallback): Added a button clicked handler.
Before GtkDialog handled this.

  • platform/gtk/GtkAuthenticationDialog.h: Updated methods to reflect new functionality.

(WebCore::GtkAuthenticationDialog::~GtkAuthenticationDialog): Inline the default constructor.

Source/WebKit2:

Embed the WebKit2 HTTP authentication dialog into the WebView. Add the dialog as a child
of the WebKitWebViewBase container (like the web inspector).

We do not yet properly handle pages that require authentication for more than one resource.
As that is an uncommon situation, it will be handled in another patch.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp:

(WebKit::drawSignal): We have to override the draw signal of the dialog to draw
a GtkWindow background on the widget. This is required because the widget doesn't
have a real GtkWindow to draw its background.
(WebKit::loadChangedSignal): When a new load starts in the WebView destroy the dialog. This
is so that the dialog doesn't stick around when the user chooses to navigate away from the
page requiring authentication.
(WebKit::WebKit2GtkAuthenticationDialog::WebKit2GtkAuthenticationDialog): Create an eventbox
and frame to hold the dialog contents. Also append the 'background' widget class to the
event box, so that it can draw a GtkWindow background in the draw signal handler.
(WebKit::WebKit2GtkAuthenticationDialog::~WebKit2GtkAuthenticationDialog): Disconnect the
load status changed signal handler.
(WebKit::WebKit2GtkAuthenticationDialog::show): When it's time to show the dialog, add it to
WebKitWebViewBase.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Add some new methods for handling the

embedded dialog.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(didReceiveAuthenticationChallengeInFrame): Collapse the creation of the dialog into one line.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(_WebKitWebViewBasePrivate): Add the dialog as a property of the private structure.
(webkitWebViewChildIsInternalWidget): Added this helper used for determining when a child widget
is "internal" (ie the web inspector or the authentication dialog).
(webkitWebViewBaseContainerAdd): Only add non-internal widgets to the children map.
(webkitWebViewBaseAddAuthenticationDialog): Added.
(webkitWebViewBaseAddWebInspector): Added this more-foolproof method of adding a web inspector
to the WebView. This also aligns it with the way the authentication dialog is added.
(webkitWebViewBaseContainerRemove): When removing the authentication dialog, zero out the
field in the private structure.
(webkitWebViewBaseContainerForall): Add support for the authentication dialog here too.
(webkitWebViewBaseChildMoveResize): Don't pass on move_resize events to internal children.
(webkit_web_view_base_init): Zero out the authentication dialog member on init.
(webkitWebViewBaseDraw): If the authentication dialog is active, draw a shadow over web content.
(resizeWebKitWebViewBaseFromAllocation): Make the authentication dialog centered in the view.
(webkitWebViewBaseKeyPressEvent): Pass on key events to the authentication dialog if active.
(webkitWebViewBaseButtonPressEvent): If the authentication dialog is active don't pass button events
to web content.
(webkitWebViewBaseButtonReleaseEvent): Ditto.
(webkitWebViewBaseScrollEvent): Ditto.
(webkitWebViewBaseMotionNotifyEvent): Ditto.
(webkitWebViewBaseFocus): Pass on focus events to the authentication dialog so that tabbing between
elements in the dialog works correctly.
(webkit_web_view_base_class_init): Hook up the focus event.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add new methods for adding the authentication dialog

and the web inspector.

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::createInspectorWindow): Use the new method for adding the web inspector.

Tools:

Skip the new WebKit2GtkAuthenticationDialog files so that they are not processed
during gtkdoc generation.

  • gtk/generate-gtkdoc:

(get_webkit2_options):

12:34 PM Changeset in webkit [136151] by Beth Dakin
  • 4 edits
    2 adds in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=103577
TiledDrawingArea should recycle tiles
-and corresponding-
<rdar://problem/12714586>

Reviewed by Simon Fraser.

New class LayerPool will keep a list of layers to reuse so that
we can avoid creating and destroying so many layer.

When removing layers, add them to the LayerPool

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::revalidateTiles):

Before creating a new layer, try to get one of the appropriate size
from the LayerPool.
(WebCore::TileCache::createTileLayer):

New class.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/LayerPool.h: Added.

(WebCore):
(LayerPool):
(WebCore::LayerPool::capacity):
(WebCore::LayerPool::canReuseLayerWithSize):

  • platform/graphics/ca/mac/LayerPool.mm: Added.

(WebCore):
(WebCore::LayerPool:: LayerPool):
(WebCore::LayerPool::sharedPool):
(WebCore::LayerPool::bytesBackingLayerWithPixelSize):
(WebCore::LayerPool::listOfLayersWithSize):
(WebCore::LayerPool::addLayer):
(WebCore::LayerPool::takeLayerWithSize):
(WebCore::LayerPool::decayedCapacity):
(WebCore::LayerPool::schedulePrune):
(WebCore::LayerPool::prune):
(WebCore::LayerPool::drain):

If we're under memory pressure, drain the LayerPool

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::releaseMemory):

12:26 PM Changeset in webkit [136150] by jchaffraix@webkit.org
  • 11 edits
    1 add in trunk/Source/WebCore

[CSS Grid Layout] track sizing functions should have their own type
https://bugs.webkit.org/show_bug.cgi?id=103343

Reviewed by Tony Chang.

The current code uses a Length to represent the track sizing function. This is
fine as we only parse <length> | <percentage> but in order to support minmax
sizing, we have to store 2 Lengths. We could go with a pair but that would make
the code not very readable so this change introduces GridTrackSize.

Refactoring, covered by existing tests.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Added GridTrackSize.h to all our build systems.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackBreadth):
(WebCore::valueForGridTrackList):

  • css/StyleResolver.cpp:

(WebCore::createGridTrackBreadth):
(WebCore::createGridTrackList):
(WebCore::StyleResolver::applyProperty):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computePreferredLogicalWidths):
(WebCore::RenderGrid::computedUsedBreadthOfGridTracks):

  • rendering/style/RenderStyle.h:

Updated the above call sites to use GridTrackSize. While
touching them, changed the code to use an empty Vector to represent
'none' instead of Length(Undefined).

  • rendering/style/StyleGridData.h:

Updated #include, removed a comment as it would have gone stale after
adding more grammar support and added a FIXME to rename some variables.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
Implemented a work-around to avoid crashing due to implicit columns / rows.

  • rendering/style/GridTrackSize.h: Added.

(WebCore::GridTrackSize::GridTrackSize):
(WebCore::GridTrackSize::length):
(WebCore::GridTrackSize::setLength):
(WebCore::GridTrackSize::type):
(WebCore::GridTrackSize::operator==):
New class, it now only wraps a single Length.

12:23 PM Changeset in webkit [136149] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Typo in Color creation function name
https://bugs.webkit.org/show_bug.cgi?id=103464

Patch by Helder Correia <Helder Correia> on 2012-11-29
Reviewed by Alexey Proskuryakov.

Renaming createUnCheked() as createUnchecked().

No new tests.

  • platform/graphics/Color.cpp:

(WebCore::colorFromPremultipliedARGB):

  • platform/graphics/Color.h:

(WebCore::Color::createUnchecked):

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

[BlackBerry] Cookies in private mode should not have access to public cookies
https://bugs.webkit.org/show_bug.cgi?id=103649

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-29
Reviewed by Rob Buis.

PR 253983

When CookieManager switches back from public to private mode,
we will clear the cookie tree so the browser won't have access
to the public cookies.

Tested using browser.swlab.rim.net cookie tests and the steps in
the PR.

  • platform/blackberry/CookieManager.cpp:

(WebCore::CookieManager::setPrivateMode):

12:12 PM Changeset in webkit [136147] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Be consistent in handling of frameAtIndex (and related) returns.
https://bugs.webkit.org/show_bug.cgi?id=103207

Patch by Brent Fulgham <bfulgham@gmail.com> on 2012-11-29
Reviewed by David Hyatt.

Under various conditions, frameAtIndex (and therefore,
nativeImageForCurrentFrame) returns null. A series of bugs over
the years has ensured null returns are handled in some cases,
but there are a handful of remaining cases where this is still a
problem.

No new tests, as these low-level functions are covered by
numerous existing test cases.

12:11 PM Changeset in webkit [136146] by hyatt@apple.com
  • 3 edits in trunk/Source/WebCore

[New Multicolumn] Add minimum column height tracking and forced break tracking to column sets.
https://bugs.webkit.org/show_bug.cgi?id=103657

Reviewed by Simon Fraser.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):

  • rendering/RenderMultiColumnSet.h:

(WebCore::RenderMultiColumnSet::updateMinimumColumnHeight):
(WebCore::RenderMultiColumnSet::minimumColumnHeight):
(RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::forcedBreaksCount):
(WebCore::RenderMultiColumnSet::forcedBreakOffset):
(WebCore::RenderMultiColumnSet::maximumDistanceBetweenForcedBreaks):
(WebCore::RenderMultiColumnSet::clearForcedBreaks):
(WebCore::RenderMultiColumnSet::addForcedBreak):

12:06 PM Changeset in webkit [136145] by pfeldman@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: introduce fast case for within-chunk edit
https://bugs.webkit.org/show_bug.cgi?id=103545

Reviewed by Vsevolod Vlasov.

Special-casing edits within the chunk for faster operation.

  • inspector/front-end/DOMExtension.js:

(removeSubsequentNodes):

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):

11:59 AM Changeset in webkit [136144] by pfeldman@chromium.org
  • 13 edits in trunk/Source/WebCore

Web Inspector: Console: hovering node wrappers in object tree should highlight them on the page
https://bugs.webkit.org/show_bug.cgi?id=101150

Reviewed by Vsevolod Vlasov.

  • Introduced a way to highlight nodes by object id in addition to node id.
  • Decorated nodes in the object tree outline and added on-hover highlighting.
  • inspector/Inspector.json:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::highlightNode):

  • inspector/InspectorDOMAgent.h:

(InspectorDOMAgent):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):

  • inspector/front-end/DOMAgent.js:

(WebInspector.DOMAgent.prototype.highlightDOMNode):

  • inspector/front-end/DOMPresentationUtils.js:

(WebInspector.DOMPresentationUtils.createSpansForNodeTitle):

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype._mouseMove):
(WebInspector.ObjectPropertyTreeElement.prototype._mouseOut):

  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject.prototype.highlightAsDOMNode):
(WebInspector.RemoteObject.prototype.hideDOMNodeHighlight):

  • inspector/front-end/TestController.js:
  • inspector/front-end/externs.js:
  • inspector/front-end/inspector.css:

(.console-formatted-node:hover):

  • inspector/front-end/utilities.js:
11:28 AM Changeset in webkit [136143] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[Chromium] LayoutTests/fast/js/string-replacement-outofmemory.html crashes
https://bugs.webkit.org/show_bug.cgi?id=103348

Reviewed by Abhishek Arya.

Add a comment to explain that the crash is expected and is performed in an
orderly fashion.

  • platform/chromium/TestExpectations:
10:43 AM Changeset in webkit [136142] by mitz@apple.com
  • 17 edits
    3 adds in trunk

<rdar://problem/12771885> Support ruby-position: {before, after}
https://bugs.webkit.org/show_bug.cgi?id=103569

Reviewed by Anders Carlsson.

Source/WebCore:

Specified in <http://www.w3.org/TR/2011/WD-css3-ruby-20110630/#rubypos>, the ruby-position
property takes four values: before, after, inter-character, and inline. This change adds
support for the values before and after.

Test: fast/ruby/position-after.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle ruby-position.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Accept before and after as valid values for
ruby-position.
(WebCore::isKeywordPropertyID): Added ruby-position to the list of properties with keyword
values.
(WebCore::CSSParser::parseValue): Added ruby-position to the switch statement.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from RubyPosition.
(WebCore::CSSPrimitiveValue::operator RubyPosition): Added mapping from CSSPrimitiveValue.

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty): Added ruby-position as an inherited property.

  • css/CSSPropertyNames.in: Added -webkit-ruby-position.
  • css/CSSValueKeywords.in: Added after and before.
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): Added a handler for ruby-position.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty): Added ruby-position.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesInBlockDirection): Changed to choose which of
hasAnnotationsBefore and hasAnnotationsAfter to set based on ruby position.
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Changed to adjust only for
ruby positioned before the base.
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added adjustment for ruby
positioned after the base.

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout): Account for ruby-position when positioning the ruby text
relative to the base.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff): Made a ruby-position difference a layout difference.

  • rendering/style/RenderStyle.h: Added rubyPosition(), setRubyPosition(), and

initialRubyPosition().

  • rendering/style/RenderStyleConstants.h: Added the RubyPosition enum.
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Added initialized for
m_rubyPosition. Added copying the value of this member to the copy constructor.
(WebCore::StyleRareInheritedData::operator==): Added comparison of m_rubyPosition.

  • rendering/style/StyleRareInheritedData.h:

(StyleRareInheritedData): Added m_rubyPosition member variable.

LayoutTests:

  • fast/ruby/position-after.html: Added.
  • platform/mac/fast/ruby/position-after-expected.png: Added.
  • platform/mac/fast/ruby/position-after-expected.txt: Added.
10:22 AM Changeset in webkit [136141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix the build after r136095
https://bugs.webkit.org/show_bug.cgi?id=103629

Unreviewed.

Add a static_cast to fix the build.

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-29

  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::ObjCObjectGraphEncoder::baseEncode):

10:22 AM Changeset in webkit [136140] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Speculative Windows build fix after r136086.

Unreviewed build fix.

Suspect that ?setDumpsGeneratedCode@BytecodeGenerator@JSC@@SAX_N@Z needs to be removed from Windows
export list since the symbol was removed in r136086.

10:17 AM Changeset in webkit [136139] by Christophe Dumez
  • 3 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Have LayerTreeRenderer::ensureLayer() return the layer
https://bugs.webkit.org/show_bug.cgi?id=103645

Reviewed by Noam Rosenthal.

The current LayerTreeRenderer code keep calling ensureLayer() and then
LayerMap::find() to retrieve the layer. Since ensureLayer() already has
a pointer to the layer, we can simply have the function return it.
This is slightly more efficient and it makes the code a bit simpler.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerChildren):
(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::ensureLayer):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
10:14 AM Changeset in webkit [136138] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Add code supppression flags for skia

Unreviewed addition of Skia build flags to allow for their removal from Chromium's skia.gyp.

  • skia_webkit.gyp: Added defines for SK_DISABLE_DITHER_32BIT_GRADIENT and SK_DISABLE_DASHING_OPTIMIZATION
9:20 AM Changeset in webkit [136137] by Patrick Gansterer
  • 2 edits in trunk/Source/WTF

Build fix for WinCE after r136096.

  • wtf/StringPrintStream.cpp: Added missing include file.
9:09 AM Changeset in webkit [136136] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[BlackBerry] Update BB10 form theme.
https://bugs.webkit.org/show_bug.cgi?id=100760

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-29
Reviewed by Rob Buis.

Internally Reviewed by Eli Fidler.
Set text color after buttons are pressed.

  • css/themeBlackBerry.css:

(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active):
(select:active):

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore):
(WebCore::RenderThemeBlackBerry::paintButton):
(WebCore::RenderThemeBlackBerry::paintMenuList):

9:07 AM Changeset in webkit [136135] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurfaceGLX: remove redundant parameter from resolveGLMethods.
https://bugs.webkit.org/show_bug.cgi?id=103636

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:

(WebCore::resolveGLMethods):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):

8:50 AM Changeset in webkit [136134] by eric@webkit.org
  • 3 edits in trunk/Tools

run-perf-tests --chromium-android fails due to Skia INFO logging
https://bugs.webkit.org/show_bug.cgi?id=103585

Reviewed by Adam Barth.

Ignore all INFO logging from Chromium code.
Also added some basic testing of the ignored-stderr lines code.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest.test_ignored_stderr_lines):

7:48 AM Changeset in webkit [136133] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] TiledBackingStore: User events are sent to web page before it is shown
https://bugs.webkit.org/show_bug.cgi?id=101753

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-29
Reviewed by Jocelyn Turcotte.

User events are suppressed on WEB process side while drawing area is frozen.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::gestureEvent):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::sendIfEventCannotBeHandled):
(WebKit):
(WebKit::WebPage::didCompletePageTransition):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

7:34 AM Changeset in webkit [136132] by mkwst@chromium.org
  • 4 edits in trunk

Typo in 'autofocus' sandboxing error message.
https://bugs.webkit.org/show_bug.cgi?id=103616

Reviewed by Jochen Eisinger.

Source/WebCore:

The sandbox attribute name is 'allow-scripts', not 'allow-script'. :(

  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):

LayoutTests:

  • fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
7:33 AM Changeset in webkit [136131] by morrita@google.com
  • 6 edits
    2 adds in trunk

Source/WebCore: HTMLMediaElement's .textTracks property does not reflect <track> element
https://bugs.webkit.org/show_bug.cgi?id=103420

Reviewed by Eric Carlson.

There were some assumptions that <track> elements are valid only
if the parent <media> is in document. This change relaxes this
assumption so that <track> is valid when it has <media> as a
parent regardless whether the <media> is in the document or not.

HTMLMediaElement::didAddTrack and didRemoveTrack are now called
when the <track> is inserted to or removed from the parent <media>
element.

Test: media/track/track-node-add-remove.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::didRemoveTrack):
Renamed from willRemoveTrack() to reflect the timing. This was once called from
Node::willRemove(), which was removed a while ago.

  • html/HTMLMediaElement.h:

(HTMLMediaElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::insertedInto):
The old code notified parent <media> only if the subtree became a part of the document.
Now it notifies the <media> when this <track> becomes a child of that <media>.

(WebCore::HTMLTrackElement::removedFrom):
The old code notifies the parent <media> every time as long as the parent is available.
Now it notifies the <media> only if this <track> is removed from the parent <media>.
This matches how corresponding notification is done in insertedInto().

  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::trackElementIndex):

LayoutTests: HTMLMediaElement's .textTracks property does not reflect <track> element
https://bugs.webkit.org/show_bug.cgi?id=103420

Reviewed by Eric Carlson.

  • media/track/track-node-add-remove-expected.txt: Added.
  • media/track/track-node-add-remove.html: Added.
7:31 AM Changeset in webkit [136130] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, update Mac expectation after r136128.

  • platform/chromium/TestExpectations:
7:00 AM Changeset in webkit [136129] by allan.jensen@digia.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Possible to resize out of bounds
https://bugs.webkit.org/show_bug.cgi?id=103521

Reviewed by Jocelyn Turcotte.

Enforce the viewportBounds after resize, and ensure a user fitted page remains
fit on viewport resize, but not on content growth.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Added.
  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::didChangeViewportAttributes):
(WebKit::PageViewportController::updateMinimumScaleToFit):

  • UIProcess/PageViewportController.h:

(PageViewportController):

6:57 AM Changeset in webkit [136128] by schenney@chromium.org
  • 2 edits
    1 move
    4 deletes in trunk/LayoutTests

Unreviewed Chromium expectations cleanup

  • platform/chromium-mac-snowleopard/fast/css/font-weight-1-expected.png: Removed. Should not have been added ever.
  • platform/chromium-mac-snowleopard/fast/css/font-weight-1-expected.txt: Removed. Should not have been added ever.
  • platform/chromium-mac/fast/css/font-weight-1-expected.png: Removed. Should not have been added ever.
  • platform/chromium-mac/fast/css/font-weight-1-expected.txt: Removed. Should not have been added ever.
  • platform/chromium-win/fast/css/font-weight-1-expected.png: Removed. Should not have been added ever.
  • platform/chromium/TestExpectations: Removed tests now passing
  • platform/chromium/fast/css/font-weight-1-expected.png: Copied from LayoutTests/platform/chromium-win/fast/css/font-weight-1-expected.png.
6:38 AM Changeset in webkit [136127] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=103375

Unreviewed expectations update.

The test is no longer flakey after yeterdays test modification.

  • platform/chromium/TestExpectations:
6:17 AM Changeset in webkit [136126] by michael.bruning@digia.com
  • 12 edits in trunk/Source/WebKit2

[Qt][WK2] Commit the preedit string in the input method when focus is about to be moved.
https://bugs.webkit.org/show_bug.cgi?id=97774

Reviewed by Kenneth Rohde Christiansen.

Implements the handler for willSetInputMethodState in WebKit2 in Qt.
This is needed to tell the input method instance in Qt to commit its
preedit content when the focus has moved to another node to prevent a
bug where the old preedit string was kept as the preedit string and
the editor moved focus back to the old node when continuing to enter
text via the input method.

This behavior is analog to the behavior of the QtQuick text input
elements.

  • UIProcess/API/qt/raw/qrawwebview.cpp:

(QRawWebViewPrivate::handleWillSetInputMethodState):

  • UIProcess/API/qt/raw/qrawwebview_p_p.h:

(QRawWebViewPrivate):

  • UIProcess/PageClient.h:

(PageClient):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/qt/QtPageClient.cpp:

(WebKit::QtPageClient::handleWillSetInputMethodState):
(WebKit):

  • UIProcess/qt/QtPageClient.h:

(QtPageClient):

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(WebKit::QtWebPageEventHandler::handleWillSetInputMethodState):
(WebKit):

  • UIProcess/qt/QtWebPageEventHandler.h:

(QtWebPageEventHandler):

  • UIProcess/qt/WebPageProxyQt.cpp:

(WebKit::WebPageProxy::willSetInputMethodState):
(WebKit):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::willSetInputMethodState):

5:34 AM Changeset in webkit [136125] by fmalita@chromium.org
  • 5 edits in trunk/Source

[Skia] Add missing OpaqueRegionSkia notifier calls
https://bugs.webkit.org/show_bug.cgi?id=102824

Reviewed by Stephen White.

Source/WebCore:

http://trac.webkit.org/changeset/135390 exposed some canvas draw clients which are not
updating the opaque region tracker. This patch adds the required notifier calls.

No new tests: platform unit tests added.

  • platform/graphics/skia/OpaqueRegionSkia.h:

(OpaqueRegionSkia):

  • platform/graphics/skia/PlatformContextSkia.h:

(WebCore::PlatformContextSkia::writePixels):
(WebCore::PlatformContextSkia::drawBitmap):
(WebCore::PlatformContextSkia::drawBitmapRect):
(WebCore::PlatformContextSkia::drawIRect):
(WebCore::PlatformContextSkia::drawPosText):
(WebCore::PlatformContextSkia::drawPosTextH):
(WebCore::PlatformContextSkia::drawTextOnPath):

Source/WebKit/chromium:

Add opaque region tracking unit tests for the new PlatformContextSkia draw methods.

  • tests/PlatformContextSkiaTest.cpp:

(WebCore::TEST):
(WebCore):

5:25 AM Changeset in webkit [136124] by Simon Hausmann
  • 9 edits in trunk/Source/WebCore

[Qt] Implement support for Cocoa based NPAPI plugins on Mac
https://bugs.webkit.org/show_bug.cgi?id=72358

Patch by Andy Shaw <andy.shaw@digia.com> on 2012-11-29
Reviewed by Simon Hausmann.

With later versions of Flash they are only Cocoa based which meant that it was not possible to use Flash in a QtWebKit browser.
This makes it possible to also use 64bit based plugins too.

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::initializeBrowserFuncs):
(WebCore):

  • plugins/PluginQuirkSet.h:
  • plugins/PluginView.cpp:

(WebCore::PluginView::handleEvent):
(WebCore::PluginView::PluginView):
(WebCore):
(WebCore::PluginView::userAgent):

  • plugins/PluginView.h:

(WebCore):
(PluginView):

  • plugins/mac/PluginPackageMac.cpp:

(WebCore::PluginPackage::determineQuirks):
(WebCore::PluginPackage::fetchInfo):

  • plugins/mac/PluginViewMac.mm:

(WebCore):
(WebCore::initializeNPCocoaEvent):
(WebCore::getModifiers):
(WebCore::PluginView::platformStart):

  • plugins/npapi.cpp:

(NPN_PopUpContextMenu):

  • plugins/npapi.h:
5:15 AM Changeset in webkit [136123] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Remove duplicated entries from efl-wk1/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=103236

Unreviewed. These entries exist in efl/TestExpectations. Remove duplication.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-29

  • platform/efl-wk1/TestExpectations:
4:23 AM Changeset in webkit [136122] by mkwst@chromium.org
  • 3 edits
    1 move in trunk/LayoutTests

Layout Test http/tests/inspector/network/script-as-text-loading-long-url.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103619

Reviewed by Alexander Pavlov.

Windows doesn't like loooong filenames.

  • http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Renamed from LayoutTests/http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php.
  • http/tests/inspector/network/script-as-text-loading-long-url.html:
  • platform/chromium/TestExpectations:

Unskipping the test on XP.

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

[EFL][WK2] flaky reftests after r135935
https://bugs.webkit.org/show_bug.cgi?id=103618

Unreviewed gardening, mark more reftests flaky after r135935.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-29

  • platform/efl-wk2/TestExpectations:
3:26 AM Changeset in webkit [136120] by shinyak@chromium.org
  • 2 edits
    3 adds in trunk/PerformanceTests

[Shadow] Performance tests of distribution for changing select attribute
https://bugs.webkit.org/show_bug.cgi?id=103611

Reviewed by Hajime Morita.

We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
In this patch, we add a case when select attribute of HTMLContentElement is changed.

  • ShadowDOM/ChangingSelect.html: Added.
  • ShadowDOM/ChangingSelectWithoutShadow.html: Added.
  • Skipped:
3:14 AM Changeset in webkit [136119] by jocelyn.turcotte@digia.com
  • 3 edits in trunk/Source/WebKit2

[Qt] The WebView should be flickable only using touch events
https://bugs.webkit.org/show_bug.cgi?id=100964

Reviewed by Kenneth Rohde Christiansen.

Let a user interacting with the WebView using a mouse the same way that a
desktop browser would.
This allows normal behaviors like text selecting, hover events, mouse cursors
as well as avoid touch highlighting and touch adjustment.

To do so we let all mouse events to be handled by the page directly instead
of sending them to QtWebPageEventHandler. Since unhandled mouse events aren't
pushed back to the PageClient like touch events does, this have the intended
behavior of not letting mouse events affect QQuickFlickable.

  • UIProcess/API/qt/qquickwebview.cpp:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewFlickablePrivate):

3:05 AM Changeset in webkit [136118] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Fix typo in description of openDateTimeChooser documentation
https://bugs.webkit.org/show_bug.cgi?id=103622

Patch by Miguel Garcia <miguelg@chromium.org> on 2012-11-29
Reviewed by Kent Tamura.

  • public/WebViewClient.h:

(WebViewClient):

3:03 AM Changeset in webkit [136117] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL][WK2] Add support for PlatformWebView::simulateMouseMove() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103252

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-29
Reviewed by Kenneth Rohde Christiansen.

Add support for PlatformWebView::simulateMouseMove() and enable
WebKit2 API test MouseMoveAfterCrash.

  • TestWebKitAPI/PlatformEfl.cmake: Enable MouseMoveAfterCrash API

test.

  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::onWebProcessCrashed): Handle 'webprocess,crashed' signal
to prevent loading an error page since the test case is reloading actual
page after web process has terminated and recovered.
(TestWebKitAPI):
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::simulateMouseMove): Implemented.

2:56 AM Changeset in webkit [136116] by Simon Hausmann
  • 7 edits
    3 adds in trunk

[Qt] Fix installation of QtWebProcess binary
https://bugs.webkit.org/show_bug.cgi?id=101735

Patch by Andras Becsi <andras.becsi@digia.com> on 2012-11-29
Reviewed by Simon Hausmann.

Source/WebKit2:

If available use QLibraryInfo::LibraryExecutablesPath to find
the web process and the plugin process and deploy both helper
processes to QT_INSTALL_LIBEXECS.

The effective fallback used to find the helper processes becomes:

  1. Application directory
  2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
  3. Qt binaries directory (QLibraryInfo::BinariesPath)
  4. No absolute path used
  • PluginProcess.pro:
  • Shared/qt/ProcessExecutablePathQt.cpp:

(WebKit::executablePath):

  • WebProcess.pro:

Tools:

Add config test to detect the availability of support
for "program executables" in Qt (libexec).

This test can be removed after the Qt5 release.

  • Tools.pro:
  • qmake/mkspecs/features/features.prf:
  • qmake/config.tests/libexecdir/libexecdir.cpp:
  • qmake/config.tests/libexecdir/libexecdir.pro:
2:40 AM Changeset in webkit [136115] by kkristof@inf.u-szeged.hu
  • 5 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.
Rebase 3 tests. Skip one test because it needs Qt implementation.

Patch by Nandor Huszka <hnandor@inf.u-szeged.hu> on 2012-11-29

  • platform/qt/TestExpectations:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
2:18 AM Changeset in webkit [136114] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] remove failure expectations from passing tests
https://bugs.webkit.org/show_bug.cgi?id=103523

Unreviewed gardening, remove failure expectations:
http/tests/security/isolatedWorld/world-reuse.html was fixed in
r135871 and the rest have been passing for a long while according
to flakiness dashboard.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-29

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
2:16 AM Changeset in webkit [136113] by apavlov@chromium.org
  • 14 edits
    2 deletes in trunk

Unreviewed, rolling out r136111.
http://trac.webkit.org/changeset/136111
https://bugs.webkit.org/show_bug.cgi?id=103620

Broke compilation on Mac (unused private field m_matchMode)
(Requested by apavlov on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-29

Source/WebCore:

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

(WebCore):
(WebCore::HTMLSelectElement::HTMLSelectElement):
(WebCore::stripLeadingWhiteSpace):
(WebCore::HTMLSelectElement::typeAheadFind):

  • html/HTMLSelectElement.h:

(HTMLSelectElement):

  • html/TypeAhead.cpp: Removed.
  • html/TypeAhead.h: Removed.
  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement):

LayoutTests:

  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html:
1:47 AM Changeset in webkit [136112] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed gardening.

  • platform/chromium/TestExpectations:

Skipping 'http/tests/inspector/network/script-as-text-loading-long-url.html'
on WinXP.

1:15 AM Changeset in webkit [136111] by keishi@webkit.org
  • 14 edits
    2 adds in trunk

Better type ahead for DateTimeSymbolicFieldElement
https://bugs.webkit.org/show_bug.cgi?id=103031

Reviewed by Kent Tamura.

Source/WebCore:

This cuts out the type ahead code that will be used by HTMLSelectElement
and DateTimeSymbolicFieldElement into a TypeAhead class. This will
improve DateTimeSymbolicFieldElement type ahead which was first
character match only, by adding cycling, prefix match and index number
match.

Added tests to month-multiple-fields-keyboard-events.html.

  • GNUmakefile.list.am: Added TypeAhead.{h,cpp}
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • CMakeLists.txt: Ditto.
  • html/HTMLSelectElement.cpp:

(WebCore):
(WebCore::HTMLSelectElement::HTMLSelectElement):
(WebCore::HTMLSelectElement::indexOfSelectedOption): Returns index of current selection.
(WebCore::HTMLSelectElement::optionCount): Returns total number of options.
(WebCore::HTMLSelectElement::optionAtIndex): Returns option at index.
(WebCore::HTMLSelectElement::typeAheadFind): Use TypeAhead.

  • html/HTMLSelectElement.h:

(HTMLSelectElement):

  • html/TypeAhead.cpp: Added.

(WebCore):
(WebCore::TypeAhead::TypeAhead):
(WebCore::stripLeadingWhiteSpace): Moved from HTMLSelectElement.cpp.
(WebCore::TypeAhead::handleEvent): Returns index for match.

  • html/TypeAhead.h: Added.

(WebCore):
(TypeAheadDataSource): Provide the data about the options that TypeAhead should match against.
(TypeAhead):

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::handleKeyboardEvent):
(WebCore::DateTimeSymbolicFieldElement::indexOfSelectedOption):
(WebCore):
(WebCore::DateTimeSymbolicFieldElement::optionCount):
(WebCore::DateTimeSymbolicFieldElement::optionAtIndex):

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement):

LayoutTests:

  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt:
  • fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html: Added tests for typeahead.
12:59 AM Changeset in webkit [136110] by tkent@chromium.org
  • 3 edits
    8 copies
    21 deletes in trunk/LayoutTests

Convert *-appearance-pseudo-classes.html to dumpAsText tests
https://bugs.webkit.org/show_bug.cgi?id=103602

Reviewed by Kentaro Hara.

fast/forms/*/*-appearance-pseudo-classes.html doesn't need to be a pixel
test because "how css properties are applied" is tested in
fast/forms/*/*-appearance-basic.html. Checking querySelectorAll result
is enough to check pseudo classes support, and we can convert the test
to a dumpAsText test. We imporve test coverage in the new dumpAsText tests.

Also, this patch adds missing datetimelocal-pseudo-classes.html.

  • fast/forms/date/date-pseudo-classes-expected.txt:
  • fast/forms/date/date-pseudo-classes.html: Add :in-range -> :out-of-range cases.
  • fast/forms/datetimelocal/datetimelocal-pseudo-classes-expected.txt: Added.
  • fast/forms/datetimelocal/datetimelocal-pseudo-classes.html: Added.
  • fast/forms/month/month-appearance-pseudo-classes-expected.txt: Removed.
  • fast/forms/month/month-appearance-pseudo-classes.html: Removed.
  • fast/forms/month/month-pseudo-classes-expected.txt: Added.
  • fast/forms/month/month-pseudo-classes.html: Added.
  • fast/forms/time/time-appearance-pseudo-classes-expected.txt: Removed.
  • fast/forms/time/time-appearance-pseudo-classes.html: Removed.
  • fast/forms/time/time-pseudo-classes-expected.txt: Added.
  • fast/forms/time/time-pseudo-classes.html: Added.
  • fast/forms/week/week-appearance-pseudo-classes-expected.txt: Removed.
  • fast/forms/week/week-appearance-pseudo-classes.html: Removed.
  • fast/forms/week/week-pseudo-classes-expected.txt: Added.
  • fast/forms/week/week-pseudo-classes.html: Added.
  • platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-linux/fast/forms/time/time-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac/fast/forms/month/month-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac/fast/forms/time/time-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac/fast/forms/week/week-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win/fast/forms/time/time-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png: Removed.
12:40 AM Changeset in webkit [136109] by apavlov@chromium.org
  • 2 edits
    3 deletes in trunk/LayoutTests

[Chromium] Unreviewed, mark fast/regions tests failing after r136045 as failing, since they are actually reftests.

  • platform/chromium-mac/fast/regions/autoheight-dynamic-update-expected.png: Removed.
  • platform/chromium-mac/fast/regions/firstletter-inside-flowthread-expected.png: Removed.
  • platform/chromium-mac/fast/regions/listmarker-inside-flowthread-expected.png: Removed.
  • platform/chromium/TestExpectations:
12:38 AM Changeset in webkit [136108] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Broken rendering occurs when scrolling in ewk_view_single.
https://bugs.webkit.org/show_bug.cgi?id=77325

Reviewed by Gyuyoung Kim.

After r104687, broken rendering occurs when scrolling contents.
It's because scrollWidth can be smaller than width of image buffer.

This patch fixes it and renames parameter to avoid confusion.

  • ewk/ewk_view_single.cpp:

(_ewk_view_screen_move):
(_ewk_view_single_scroll_process_single):

12:35 AM Changeset in webkit [136107] by commit-queue@webkit.org
  • 7 edits
    6 adds in trunk

[CSS Regions] Fix content node renderers ordering inside the named flow thread
https://bugs.webkit.org/show_bug.cgi?id=103501

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-29
Reviewed by David Hyatt.

Source/WebCore:

This patch fixes two issues with how content nodes renderers are added to a named flow thread.
The first issue was about determining the insertion position of a renderer inside the children list of a named flow thread. Before this patch, the
insertion point was based on both the DOM ordering of the elements and insertion order of previous renderers.
The patch fixes this and makes the renderer position just a function of the DOM ordering of elements.
The second issue appeared when next/previousRenderer methods were skipping nodes because they had the flow-into property as a side effect
of copying the style of the parent element (e.g. Text nodes). The patch ensures the skipped nodes are also elements.

Tests: fast/regions/named-flow-content-order-1.html

fast/regions/named-flow-content-order-2.html
fast/regions/named-flow-content-order-3.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::nextRenderer): Skip only elements.
(WebCore::NodeRenderingContext::previousRenderer): Skip only elements.

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::addFlowChild): Insert the renderer in the list based on the DOM position of the owner element.

  • rendering/RenderNamedFlowThread.h:

(RenderNamedFlowThread):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::renderNamedFlowThreadWrapper): Rename to eliminate the confusion with enclosingRenderFlowThread.
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

The first two ref tests cover the issue with incorrectly computing the insertion position for a content node renderer.
The third ref test covers the issue with nextRenderer and previousRenderer skipping valid nodes.

  • fast/regions/named-flow-content-order-1-expected.html: Added.
  • fast/regions/named-flow-content-order-1.html: Added.
  • fast/regions/named-flow-content-order-2-expected.html: Added.
  • fast/regions/named-flow-content-order-2.html: Added.
  • fast/regions/named-flow-content-order-3-expected.html: Added.
  • fast/regions/named-flow-content-order-3.html: Added.
12:03 AM WebInspector edited by zandobersek@gmail.com
Removing spam links. (diff)
12:03 AM Changeset in webkit [136106] by eric@webkit.org
  • 3 edits in trunk/Tools

run-perf-tests does not work when the layout test directory does not exist
https://bugs.webkit.org/show_bug.cgi?id=103572

Reviewed by Ryosuke Niwa.

Make sure that Profiler() calls maybe_make_directory for the output_dir
before ever using it. It's a little awkward to create the directory
from the constructor, but its simplest that way as the various subclasses
all use the directory at different times.

Since this required having a filesystem in Profiler (and I didn't want
to grab inside Workspace to get one), I just made Profiler expect a
SystemHost instead of a separate filesystem, executive and workspace.

  • Scripts/webkitpy/common/system/profiler.py:

(ProfilerFactory.create_profiler):
(Profiler.init):
(SingleFileOutputProfiler.init):
(GooglePProf.init):
(GooglePProf.profile_after_exit):
(Instruments.init):
(Instruments.attach_to_pid):

  • Scripts/webkitpy/common/system/profiler_unittest.py:

(ProfilerFactoryTest.test_basic):

Nov 28, 2012:

11:46 PM Changeset in webkit [136105] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

Add a test to ensure that 'seamless' iframes do not inherit contenteditable.
https://bugs.webkit.org/show_bug.cgi?id=95890

Reviewed by Ojan Vafai.

Source/WebCore:

We don't currently support inheriting contenteditable into a seamless
frame. http://html5.org/tools/web-apps-tracker?from=7318&to=7319
brought the spec in line with WebKit's behavior (ha!). This patch
defends the behavior by adding a test, and removes a FIXME comment
now that the question is settled.

It also exposes a brand new bug: https://bugs.webkit.org/show_bug.cgi?id=103539
How exciting.

Test: fast/frames/seamless/seamless-contenteditable-not-inherited.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForDocument):

No functional change, just dropping a FIXME comment.

LayoutTests:

  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt: Added.
  • fast/frames/seamless/seamless-contenteditable-not-inherited.html: Added.
11:28 PM Changeset in webkit [136104] by mkwst@chromium.org
  • 5 edits
    4 adds in trunk

Web Inspector: Console message's anchor element should be trimmed for readability.
https://bugs.webkit.org/show_bug.cgi?id=100095

Reviewed by Pavel Feldman.

Source/WebCore:

We're currently trimming URLs that go through
'WebInspector.linkifyURLAsNode' down to 150 characters total. Not all
URLs go that path, however. We were missing a few cases that dropped
back to the default Linkifier (which especially showed up for "Live"
anchor elements).

This patch ensures that anything using WebInspector.Linkifier is also
trimmed by default. It adds a new constant to do so in order to avoid
magic numbers in the code.

Test: http/tests/inspector/network/script-as-text-loading-long-url.html

  • inspector/front-end/Linkifier.js:

(WebInspector.Linkifier):

Pass the max length into the default formatter that's created and
stored when creating a 'WebInspector.Linkifier' object.

  • inspector/front-end/ResourceUtils.js:

(WebInspector.linkifyURLAsNode):

Use the new maxlength constant rather than hard-coding 150.

LayoutTests:

  • http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Added.
  • http/tests/inspector/network/script-as-text-loading-long-url-expected.txt: Added.
  • http/tests/inspector/network/script-as-text-loading-long-url.html: Added.
  • platform/chromium/http/tests/inspector/network/script-as-text-loading-long-url-expected.txt: Added.

JSC vs V8.

11:24 PM WebInspector edited by mousewiki@yahoo.com
(diff)
11:23 PM WebInspector edited by Daniela Lanie
(diff)
11:10 PM Changeset in webkit [136103] by commit-queue@webkit.org
  • 7 edits
    1 delete in trunk/Source

[EFL] Generate big_button_theme.edj
https://bugs.webkit.org/show_bug.cgi?id=103511

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-28
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

big_button_theme.edj, binary file which is used for test, should be generated.

  • DefaultTheme/CMakeLists.txt:

Introduced macro and new target to share files of default theme instead
of adding many files for big_button_theme.

  • DefaultTheme/widget/button/button.edc:

Implemented for big_button_theme.

Source/WebKit2:

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
(EWK2UnitTest):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:

(EWK2UnitTestEnvironment):

  • UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj

(TEST_F):

11:07 PM WebInspector edited by mousewiki@yahoo.com
(diff)
11:00 PM Changeset in webkit [136102] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r135973.
http://trac.webkit.org/changeset/135973
https://bugs.webkit.org/show_bug.cgi?id=103604

It made API test crash on EFL bots (Requested by gyuyoung on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-28

  • UIProcess/API/efl/ewk_view.cpp:

(createEwkView):

10:49 PM Changeset in webkit [136101] by apavlov@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

012-11-28 Alexander Pavlov <apavlov@chromium.org>

[Chromium] Unreviewed, rebaseline CSS regions test expectations for Mac 10.8 after r136045.

  • platform/chromium-mac/fast/regions/autoheight-dynamic-update-expected.png: Added.
  • platform/chromium-mac/fast/regions/firstletter-inside-flowthread-expected.png: Added.
  • platform/chromium-mac/fast/regions/listmarker-inside-flowthread-expected.png: Added.
10:44 PM Changeset in webkit [136100] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8Fast):

10:24 PM Changeset in webkit [136099] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=103554

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

In r135022, duplicate createFromWire() and toWireString() methods
were added to the JSC version of SerializedScriptValue. In
order to allow the JSC SerializedScriptValue to compile when
ENABLE(INDEXED_DATABASE) is turned on, these new methods have
been removed and the old methods have been moved outside the
ENABLE(INDEXED_DATABASE) guard.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:23 PM Changeset in webkit [136098] by shinyak@chromium.org
  • 5 edits in trunk/Source/WebCore

[Shadow] ShadowRoot should cache InsertionPointList.
https://bugs.webkit.org/show_bug.cgi?id=103212

Reviewed by Hajime Morita.

When distributing or invalidating distribution, we used to traverse all descendent nodes in Shadow DOM.
If ShadowRoot has a InsertionPoint list, we can just traverse the list.

No new tests, should be covered by existing tests.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::insertionPointList):
(WebCore):

  • dom/ShadowRoot.h:

(ShadowRoot):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
(WebCore::ShadowRootContentDistributionData::invalidateInsertionPointList):
(WebCore):
(WebCore::ShadowRootContentDistributionData::ensureInsertionPointList): Creates InsertionPoint list
if it's not created and return it.
(WebCore::ContentDistributor::distribute): Traverse InsertionPointList instead of all descendent nodes in Shadow DOM.
(WebCore::ContentDistributor::invalidate): ditto.

  • html/shadow/ContentDistributor.h:

(WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren): Invalidate InsertionPointList cache.
(WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren): ditto.
(WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren): ditto.
(WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren): ditto.
(ShadowRootContentDistributionData):

10:21 PM Changeset in webkit [136097] by commit-queue@webkit.org
  • 9 edits in trunk

IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=103554

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

In r135022, duplicate createFromWire() and toWireString() methods
were added to the JSC version of SerializedScriptValue. In
order to allow the JSC SerializedScriptValue to compile when
ENABLE(INDEXED_DATABASE) is turned on, these new methods have
been removed and the old methods have been moved outside the
ENABLE(INDEXED_DATABASE) guard.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

No new tests. No change in functionality.

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::toWireString):
(WebCore):
(WebCore::SerializedScriptValue::createFromWire):

  • bindings/js/SerializedScriptValue.h:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:01 PM Changeset in webkit [136096] by fpizlo@apple.com
  • 23 edits
    4 adds in trunk/Source

SpeculatedType dumping should not use the static char buffer[thingy] idiom
https://bugs.webkit.org/show_bug.cgi?id=103584

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Changed SpeculatedType to be "dumpable" by saying things like:

dataLog("thingy = ", SpeculationDump(thingy))

Removed the old stringification functions, and changed all code that referred to them
to use the new dataLog()/print() style.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::dumpSpeculationAbbreviated):

  • bytecode/SpeculatedType.h:
  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::dump):

  • bytecode/VirtualRegister.h:

(WTF::printInternal):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::dump):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGStructureAbstractValue.h:
  • dfg/DFGVariableAccessDataDump.cpp: Added.

(JSC::DFG::VariableAccessDataDump::VariableAccessDataDump):
(JSC::DFG::VariableAccessDataDump::dump):

  • dfg/DFGVariableAccessDataDump.h: Added.

(VariableAccessDataDump):

Source/WTF:

Added a StringPrintStream, and made it easy to create dumpers for typedefs to primitives.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PrintStream.cpp:

(WTF::dumpCharacter):

  • wtf/PrintStream.h:

(WTF::printInternal):

  • wtf/StringPrintStream.cpp: Added.

(WTF::StringPrintStream::StringPrintStream):
(WTF::StringPrintStream::~StringPrintStream):
(WTF::StringPrintStream::vprintf):
(WTF::StringPrintStream::toCString):
(WTF::StringPrintStream::increaseSize):

  • wtf/StringPrintStream.h: Added.

(StringPrintStream):
(WTF::toCString):

9:45 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
Add --update-efl option (diff)
9:33 PM Changeset in webkit [136095] by weinig@apple.com
  • 12 edits
    4 adds in trunk/Source/WebKit2

Add an objc object graph wrapper and coder for WKConnection message bodies
https://bugs.webkit.org/show_bug.cgi?id=103589

Reviewed by Anders Carlsson.

Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
WKBrowsingContextController across the wire.

  • Shared/APIClient.h:

(APIClient):
(WebKit::APIClient::client):
Add accessor for the ClientInterface.

  • Shared/APIObject.h:

Add new TypeObjCObjectGraph type.

  • Shared/mac/ObjCObjectGraph.h: Added.

(ObjCObjectGraph):
(WebKit::ObjCObjectGraph::create):
(WebKit::ObjCObjectGraph::root):
(WebKit::ObjCObjectGraph::ObjCObjectGraph):
(WebKit::ObjCObjectGraph::type):

  • Shared/mac/ObjCObjectGraph.mm: Added.

Wraps

  • Shared/mac/ObjCObjectGraphCoders.h: Added.

(WebContextObjCObjectGraphEncoder):
(WebContextObjCObjectGraphDecoder):
(InjectedBundleObjCObjectGraphEncoder):
(InjectedBundleObjCObjectGraphDecoder):

  • Shared/mac/ObjCObjectGraphCoders.mm: Added.

(WebKit::typeFromObject):
(ObjCObjectGraphEncoder):
(WebKit::ObjCObjectGraphEncoder::baseEncode):
(WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
(ObjCObjectGraphDecoder):
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
(WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
(WebKit::WebContextObjCObjectGraphEncoder::encode):
(WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
(WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
Added.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):

  • UIProcess/API/mac/WKBrowsingContextControllerInternal.h:

Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a
new method to get a WKBrowsingContextController from a WKPageRef.

  • UIProcess/API/mac/WKConnection.mm:

(-[WKConnection sendMessageWithName:body:]):
(didReceiveMessage):
Switch WKConnection to use ObjCObjectGraph to encode the messageBody.

  • UIProcess/WebContextUserMessageCoders.h:

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:

(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):
Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:

Add method to get WKWebProcessPlugInController from the WKBundlePageRef.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

9:29 PM Changeset in webkit [136094] by inferno@chromium.org
  • 2 edits in branches/chromium/1312/Source/WebCore/rendering/mathml

Merge 133221 - REGRESSION (r128837): mathml/presentation/subsup.xhtml became flaky
BUG=152430
Review URL: https://codereview.chromium.org/11418230

9:27 PM Changeset in webkit [136093] by inferno@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp

Merge 133494 - Implement SimpleFontData::platformBoundsForGlyph on skia
BUG=152430
Review URL: https://codereview.chromium.org/11419217

9:27 PM Changeset in webkit [136092] by morrita@google.com
  • 4 edits in trunk

[Shadow DOM] Element.createShadowRoot() should be prefixed.
https://bugs.webkit.org/show_bug.cgi?id=103595

Reviewed by Kentaro Hara.

Source/WebCore:

No new tests, updated shadow-aware-create-shadow-root.html to follow the change.

  • dom/Element.idl:

LayoutTests:

  • fast/dom/shadow/shadow-aware-create-shadow-root.html:
9:20 PM Changeset in webkit [136091] by tkent@chromium.org
  • 14 edits in branches/chromium/1312

Merge 135829 - :read-only selector should match to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=103350

Reviewed by Kentaro Hara.

Source/WebCore:

We supported :read-only and :read-write only for text form controls;
i.e. <textarea> and text-field <input>. According to [1], we should
support them for date/time types. So, this patch removes
isTextFormControl check in SelectorChecker, and just relies on
shouldMatchRead{Only,Write}Selector virtual functions.

Tests: Update fast/forms/*/*-appearance-pseudo-classes.html.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):
Remove isFormControlElement check and isTextFormControl check.

  • html/HTMLFormControlElement.cpp:

Remove shouldMatchRead{Only,Write}Selector functions. We don't need
common implementations any more.

  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLTextAreaElement.h:

(HTMLTextAreaElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::shouldMatchReadOnlySelector): Added.
(WebCore::HTMLTextAreaElement::shouldMatchReadWriteSelector): Added.

  • html/HTMLInputElement.h:

(HTMLInputElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::shouldMatchReadOnlySelector):
Added. This checks InputType::supportsReadOnly and readOnly.
(WebCore::HTMLInputElement::shouldMatchReadWriteSelector): Ditto.

  • html/InputType.h:

(InputType): Add supportsReadOnly.

  • html/InputType.cpp:

(WebCore::InputType::supportsReadOnly): Added. Returns false by default.

  • html/BaseDateAndTimeInputType.h:

(BaseDateAndTimeInputType): Add supportsReadOnly.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::supportsReadOnly): Added. Returns true.

  • html/TextFieldInputType.h:

(TextFieldInputType): Add supportsReadOnly.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::supportsReadOnly): Added. Returns true.

LayoutTests:

The text color becomes yellow as specified for :read-only in
*-appearance-pseudo-classes.html

  • platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium/TestExpectations:

TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/11415195

9:17 PM BuildingQtOnLinux edited by luxtella@company100.net
(diff)
9:15 PM Changeset in webkit [136090] by hayato@chromium.org
  • 3 edits in trunk/LayoutTests

Test the return value from Node::compareDocumentPositionMake more strictly.
https://bugs.webkit.org/show_bug.cgi?id=103590

Reviewed by Dimitri Glazkov.

  • fast/dom/shadow/compare-document-position-expected.txt:
  • fast/dom/shadow/compare-document-position.html:
9:10 PM Changeset in webkit [136089] by vivek.vg@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding secondary email.

9:02 PM Changeset in webkit [136088] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][WK2] input-with-validation-without-shadow.html makes following tests crash after r135935
https://bugs.webkit.org/show_bug.cgi?id=103508

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-28
Reviewed by Kent Tamura.

Do not submit the form in the ref test, as it is also not submitted by the
original test. This also fixes the timeout in EFL's tests.
Remove the test from TestEexpectations as the test is passing now.

  • fast/dom/shadow/input-with-validation-without-shadow-expected.html:
  • platform/efl-wk2/TestExpectations:
7:17 PM Changeset in webkit [136087] by hayato@chromium.org
  • 3 edits
    2 adds in trunk

Node::compareDocumentPosition returns wrong value for a node in the different shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=103502

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make Node::compareDocumentPosition() return the correct value when two nodes are in the different shadow trees.

Test: fast/dom/shadow/compare-document-position.html

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

LayoutTests:

  • fast/dom/shadow/compare-document-position-expected.txt: Added.
  • fast/dom/shadow/compare-document-position.html: Added.
7:16 PM Changeset in webkit [136086] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Change Bytecompiler s_dumpsGeneratedCode to an Options value
https://bugs.webkit.org/show_bug.cgi?id=103588

Reviewed by Filip Pizlo.

Moved the control of dumping bytecodes to Options::dumpGeneratedBytecodes.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • jsc.cpp:

(runWithScripts):

  • runtime/Options.h:
6:49 PM Changeset in webkit [136085] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed test fix: chromium/fast/storage/serialized-script-value.html

This test produces an undefined error if the test fails.

  • platform/chromium/fast/storage/serialized-script-value.html: Use bufferView

instead of view (view is not defined).

6:24 PM Changeset in webkit [136084] by jsbell@chromium.org
  • 6 edits in trunk

[Chromium] IndexedDB: Assert/crash in indexing layout tests in content_shell
https://bugs.webkit.org/show_bug.cgi?id=103562

Reviewed by Tony Chang.

Source/WebCore:

In multi-process ports, an commit request or setIndexesReady request may arrive from the
front-end after the back-end has already aborted. Don't freak out if those occur.

Tests: storage/indexeddb/index-population.html

storage/indexeddb/lazy-index-population.html
storage/indexeddb/transaction-error.html

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexKeys): Ensure transaction hasn't finished before continuing.
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady): Ditto.

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::commit): Ignore a commit request if already aborted.

LayoutTests:

Fix an expectation glitch that may arise in multi-process ports (an error on
the open request may arrive before logging has stopped; safe to ignore it).

  • storage/indexeddb/resources/transaction-error.js:
6:24 PM Changeset in webkit [136083] by sergio@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][Qt] Add drag&drop support to Flickable webView
https://bugs.webkit.org/show_bug.cgi?id=100778

Reviewed by Jocelyn Turcotte.

Enable the ItemAcceptsDrops flag in the flickable WebView. This
will allow the WebView to receive drag&drop events.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):

6:21 PM Changeset in webkit [136082] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Update String Stats for recent dataLog changes and add summary
https://bugs.webkit.org/show_bug.cgi?id=103583

Reviewed by Filip Pizlo.

Updated calls to dataLog() to dataLogF() as a results of r135469.
Added total savings from 8 bit strings in bytes and as a percentage.

  • wtf/text/StringImpl.cpp:

(WTF::StringStats::printStats):

6:18 PM Changeset in webkit [136081] by shinyak@chromium.org
  • 11 edits in trunk

.: [Shadow] Move Distribution stuffs from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

  • Source/autotools/symbols.filter:

Source/WebCore: [Shadow] Move Distribution requirements from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

We would like to shrink the ShadowRoot memory size in this patch. ShadowRoot had several distribution related members,
however they were used only if ShadowRoot has <content>, <shadow>, or nested ShadowRoot.
Since <input> or <textarea> do not have such requirements, the members consume a few amount of memory.

We remove them from ShadowRoot and introduce some RareData-like data structure for ShadowRoot.
This will reduce memory footprint in most cases.

No new tests, refactoring.

  • WebCore.exp.in:
  • dom/ShadowRoot.cpp:

(SameSizeAsShadowRoot): Reduced 3 * sizeof(unsigned) bytes from ShadowRoot.
(WebCore::ShadowRoot::ShadowRoot): DistributionData is created only when necessary. <input> or <textarea> won't
create such data.
(WebCore::ShadowRoot::assignedTo):
(WebCore):
(WebCore::ShadowRoot::setAssignedTo):
(WebCore::ShadowRoot::ensureDistributionData):
(WebCore::ShadowRoot::registerShadowElement):
(WebCore::ShadowRoot::unregisterShadowElement):
(WebCore::ShadowRoot::hasShadowInsertionPoint):
(WebCore::ShadowRoot::registerContentElement):
(WebCore::ShadowRoot::unregisterContentElement):
(WebCore::ShadowRoot::hasContentElement):
(WebCore::ShadowRoot::registerElementShadow):
(WebCore::ShadowRoot::unregisterElementShadow):
(WebCore::ShadowRoot::hasElementShadow):
(WebCore::ShadowRoot::countElementShadow):
(WebCore::ShadowRoot::reportMemoryUsage):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):
(WebCore::ShadowRoot::distributionData):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
(WebCore):

  • html/shadow/ContentDistributor.h:

(ShadowRootContentDistributionData): Distribution related fields in ShadowRoot are moved to here.
(WebCore::ShadowRootContentDistributionData::insertionPointAssignedTo):
(WebCore::ShadowRootContentDistributionData::setInsertionPointAssignedTo):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::numberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::numberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfElementShadowChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfElementShadowChildren):
(WebCore::ShadowRootContentDistributionData::numberOfElementShadowChildren):
(WebCore):

Source/WebKit2: [Shadow] Move Distribution stuffs from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
6:03 PM Changeset in webkit [136080] by krit@webkit.org
  • 17 edits in trunk

Remove -webkit-mask-attachment
https://bugs.webkit.org/show_bug.cgi?id=67137

Reviewed by David Hyatt.

Source/WebCore:

Remove CSS property '-webkit-attachment'. The CSS WG agreed that this should not be
part of the CSS Masking specification. WebKit never implemented the behavior of
attached masks either. The property was just exposed in CSSOM.

Test: Added negative tests to fast/masking/parsing-mask.html.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillProperty):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitMaskShorthand):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added negative tests for '-webkit-mask' shorthand property attachment keywords.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/remove-shorthand.html: Corrected syntax for -webkit-mask test.
  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html: Added negative tests for attachment property keywords.
  • svg/css/getComputedStyle-basic-expected.txt:
5:46 PM Changeset in webkit [136079] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Add forward declaration of SecurityOrigin to IDBBackingStore.h
https://bugs.webkit.org/show_bug.cgi?id=103578

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

Add forward declaration of SecurityOrigin to IDBBackingStore.h
in order to enable compilation of IndexedDB for JSC.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBBackingStore.h:

(WebCore):

5:21 PM Changeset in webkit [136078] by tkent@chromium.org
  • 3 edits in trunk/Tools

garden-o-matic: Use indeterminate <progress> in the status area
https://bugs.webkit.org/show_bug.cgi?id=103494

Reviewed by Adam Barth.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

Wrap the "Processing..." message with an indeterminate progress bar.
We keep the message as a fallback content.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:

Follow the above change.

5:03 PM Changeset in webkit [136077] by mhahnenberg@apple.com
  • 16 edits
    2 adds in trunk/Source/JavaScriptCore

Copying phase should use work lists
https://bugs.webkit.org/show_bug.cgi?id=101390

Reviewed by Filip Pizlo.

(JSC::BlockAllocator::BlockAllocator):

  • heap/BlockAllocator.h: New RegionSet for CopyWorkListSegments.

(BlockAllocator):
(JSC::CopyWorkListSegment):

  • heap/CopiedBlock.h: Added a per-block CopyWorkList to keep track of the JSCells that need to be revisited during the copying

phase to copy their backing stores.
(CopiedBlock):
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::didEvacuateBytes): There is now a one-to-one relationship between GCThreads and the CopiedBlocks they're
responsible for evacuating, we no longer need any of that fancy compare and swap stuff.
(JSC::CopiedBlock::pin):
(JSC::CopiedBlock::hasWorkList):
(JSC::CopiedBlock::workList):

  • heap/CopiedBlockInlines.h: Added.

(JSC::CopiedBlock::reportLiveBytes): Since we now have to grab a SpinLock to perform operations on the CopyWorkList during marking,
we don't need to do any of that fancy compare and swap stuff we were doing for tracking live bytes.

  • heap/CopiedSpace.h:

(CopiedSpace):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::pin):

  • heap/CopyVisitor.cpp:

(JSC::CopyVisitor::copyFromShared): We now iterate over a range of CopiedBlocks rather than MarkedBlocks and revisit the cells in those
blocks' CopyWorkLists.

  • heap/CopyVisitor.h:

(CopyVisitor):

  • heap/CopyVisitorInlines.h:

(JSC::CopyVisitor::visitCell): The function responsible for calling the correct copyBackingStore() function for each JSCell from
a CopiedBlock's CopyWorkList.
(JSC::CopyVisitor::didCopy): We no longer need to check if the block is empty here because we know exactly when we're done
evacuating a CopiedBlock, which is when we've gone through all of the CopiedBlock's CopyWorkList.

  • heap/CopyWorkList.h: Added.

(CopyWorkListSegment): Individual chunk of a CopyWorkList that is allocated from the BlockAllocator.
(JSC::CopyWorkListSegment::create):
(JSC::CopyWorkListSegment::size):
(JSC::CopyWorkListSegment::isFull):
(JSC::CopyWorkListSegment::get):
(JSC::CopyWorkListSegment::append):
(JSC::CopyWorkListSegment::CopyWorkListSegment):
(JSC::CopyWorkListSegment::data):
(JSC::CopyWorkListSegment::endOfBlock):
(CopyWorkListIterator): Responsible for giving CopyVisitors a contiguous notion of access across the separate CopyWorkListSegments
that make up each CopyWorkList.
(JSC::CopyWorkListIterator::get):
(JSC::CopyWorkListIterator::operator*):
(JSC::CopyWorkListIterator::operator->):
(JSC::CopyWorkListIterator::operator++):
(JSC::CopyWorkListIterator::operator==):
(JSC::CopyWorkListIterator::operator!=):
(JSC::CopyWorkListIterator::CopyWorkListIterator):
(CopyWorkList): Data structure that keeps track of the JSCells that need copying in a particular CopiedBlock.
(JSC::CopyWorkList::CopyWorkList):
(JSC::CopyWorkList::~CopyWorkList):
(JSC::CopyWorkList::append):
(JSC::CopyWorkList::begin):
(JSC::CopyWorkList::end):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData): We no longer use the m_blockSnapshot from the Heap during the copying phase.
(JSC::GCThreadSharedData::didStartCopying): We now copy the set of all blocks in the CopiedSpace to a separate vector for
iterating over during the copying phase since the set stored in the CopiedSpace will change as blocks are evacuated and
recycled throughout the copying phase.

  • heap/GCThreadSharedData.h:

(GCThreadSharedData):

  • heap/Heap.h:

(Heap):

  • heap/SlotVisitor.h: We now need to know the object who is being marked that has a backing store so that we can store it

in a CopyWorkList to revisit later during the copying phase.

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterfly):

4:51 PM Changeset in webkit [136076] by morrita@google.com
  • 5 edits in trunk/Source/WebCore

checkAcceptChild() needs fewer virtual calls
https://bugs.webkit.org/show_bug.cgi?id=103372

Reviewed by Ojan Vafai.

This change reorganizes checkAcceptChild family for speed.

  • Made Node::checkAddChild and Node::checkReplaceChild() static inline functions in ContainerNode.cpp. checkAcceptChild() was also moved to the same file. This allows us more aggressive inlining.
  • Added a fast path in checkAcceptChild(), where we can assume that the parent is element and the new child is element or text. Under this assumption, we need no extra type checks and just needs a cycle prevention through Node::contains(). This is faster than current generic version.
  • Moved extra checks from checkAddChild() and checkReplaceChild() to checkAcceptChild(). This allows the fast path skips even these extra checks.
  • Node::canReplaceChild() is devirtualized. Since the only override is on Document, we can check isDocumentNode() to call it directly.
  • The default implemenation of Node::canReplaceChild() just calls isChildTypeAllowed(). That is what an extra check for checkAddChild() did. So we can share these code path in checkAcceptChild().

This gains 2-3% win on Dromaeo dom-modify.html.

No new tests, covered by existing tests.

  • dom/ContainerNode.cpp:

(WebCore::isChildTypeAllowed): Moved from Node.cpp
(WebCore::checkAcceptChild): Moved from Node.cpp, Added a fast path.
(WebCore::checkAddChild): Moved from Node.cpp
(WebCore::checkReplaceChild): Moved from Node.cpp
(WebCore::ContainerNode::insertBefore): Followed the signature change.
(WebCore::ContainerNode::replaceChild): Followed the signature change, moved null check from checkReplaceChild to here.
(WebCore::ContainerNode::appendChild): Followed the signature change.

  • dom/Document.h:

(Document):

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

(WebCore::Node::isDocumentTypeNode): Added for better readability of call sites.

4:20 PM Changeset in webkit [136075] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[mac] Dictionary lookup bubble loses intrarange formatting
https://bugs.webkit.org/show_bug.cgi?id=103496
<rdar://problem/12762172>

Reviewed by Alexey Proskuryakov.

Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.

  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
(WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.

  • Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
  • UIProcess/API/mac/PageClientImpl.h:

(PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
no longer needs to take the page scale factor.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.

  • UIProcess/PageClient.h:

(PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
Also, scale the size of every font attribute by the current pageScaleFactor.

4:14 PM Changeset in webkit [136074] by bashi@chromium.org
  • 3 edits
    2 adds in trunk

StyleResolver should not set NaN to font size
https://bugs.webkit.org/show_bug.cgi?id=99506

Reviewed by Abhishek Arya.

Source/WebCore:

fixedScaleFactor could be NaN since settings->defaultFixedFontSize()
and settings->defaultFontSize() are zero in some case. This turns
out setting NaN to font size. Add a zero checks so that
fixedScaleFactor won't be NaN.

Test: fast/css/font-size-nan.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::checkForGenericFamilyChange):

LayoutTests:

  • fast/css/font-size-nan-expected.txt: Added.
  • fast/css/font-size-nan.svg: Added.
4:13 PM Changeset in webkit [136073] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[mac] WebHTMLConverter should maintain font size even when there is no related NSFont
https://bugs.webkit.org/show_bug.cgi?id=103568

Reviewed by Alexey Proskuryakov.

WebHTMLConverter should use the default font at the correct size when it
encounters a font that cannot be backed by an NSFont (e.g. a WebFont).

  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]):

4:11 PM Changeset in webkit [136072] by krit@webkit.org
  • 7 edits in trunk

CSS parser does not support -webkit-mask-size for -webkit-mask shorthand
https://bugs.webkit.org/show_bug.cgi?id=103020

Reviewed by David Hyatt.

Source/WebCore:

Harmonize the syntax of '-webkit-mask' property with 'background' according to the
CSS Masking specification[1]. This should make it easier to maintain both shorthand
properties in the long term.
It is very unlikely that a lot of content (if any) is affected by this change. The
computed style still is not implemented and this change should rather make it easier
for developers.

With the harmonization, the '-webkit-mask-size' property is part of the shorthand as
well now.

parsing-mask.html covers all the changes. Added new tests for the changed syntax and
'-webkit-mask-size'

[1] http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillShorthand):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getLayeredShorthandValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitMaskShorthand):

LayoutTests:

Added new subtests to exisiting test for the changed syntax of '-webkit-mask' shorthand property.

  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html:
3:42 PM Changeset in webkit [136071] by alecflett@chromium.org
  • 7 edits in trunk/Source

IndexedDB: Change frontend to call IDBDatabaseBackendInterface::createTransaction()
https://bugs.webkit.org/show_bug.cgi?id=102732

Reviewed by Tony Chang.

Use the new createTransaction, now that it has been stubbed
out. This is part 2 of 3 of a refactor. See
https://bugs.webkit.org/show_bug.cgi?id=102733 for part 3.

No new tests as this refactor simply keeps and propagates a
counter that is currently unused.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::nextTransactionId):
(WebCore):
(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onUpgradeNeeded):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

3:39 PM Changeset in webkit [136070] by roger_fong@apple.com
  • 2 edits in trunk/Source/WTF

Make DataLog work/compile properly on Windows.
https://bugs.webkit.org/show_bug.cgi?id=103544

Reviewed by Filip Pizlo.

  • wtf/DataLog.cpp:

(WTF::initializeLogFileOnce):

3:37 PM Changeset in webkit [136069] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Disassembly methods should be able to disassemble to any PrintStream& rather than always using WTF::dataFile()
https://bugs.webkit.org/show_bug.cgi?id=103492

Reviewed by Mark Hahnenberg.

Switched disassembly code to use PrintStream&, and to use print() rather than printf().

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):
(DFG):
(JSC::DFG::Disassembler::dumpDisassembly):

  • dfg/DFGDisassembler.h:

(Disassembler):

  • dfg/DFGGraph.cpp:

(JSC::DFG::printWhiteSpace):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::printNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(DFG):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGGraph.h:

(Graph):

  • jit/JITDisassembler.cpp:

(JSC::JITDisassembler::dump):
(JSC::JITDisassembler::dumpForInstructions):
(JSC::JITDisassembler::dumpDisassembly):

  • jit/JITDisassembler.h:

(JITDisassembler):

3:32 PM Changeset in webkit [136068] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLFontElement font size parsing should directly handle 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=103315

Reviewed by Oliver Hunt.

Split parseFontSize() into a templated function based on character type and a wrapper that determines
a string's bitness before calling the template.

No new tests. No change in functionality.

  • html/HTMLFontElement.cpp:

(WebCore::parseFontSize):

3:21 PM Changeset in webkit [136067] by nghanavatian@rim.com
  • 2 edits in trunk/Tools

2012-11-28 Nima Ghanavatian <nghanavatian@rim.com>

Adding Nima Ghanavatian to committers.py
https://bugs.webkit.org/show_bug.cgi?id=103533

Reviewed by Rob Buis.

Adding myself to committers.py as a Committer.

  • Scripts/webkitpy/common/config/committers.py:
2:59 PM Changeset in webkit [136066] by fpizlo@apple.com
  • 14 edits
    1 add in trunk/Source

It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count)
https://bugs.webkit.org/show_bug.cgi?id=103009

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Instead of converting all of JSC to use the new dataLog()/print() methods, I just changed
one place: dumping of abstract values. This is mainly just to ensure that the code I
added to WTF is actually doing things.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::dump):
(WTF):
(WTF::printInternal):

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::dump):
(WTF):
(WTF::printInternal):

Source/WTF:

Added the ability to use out.print(...) and dataLog(...) variadically and with
WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want
to be able to pass as an argument to out.print() or dataLog(). Also added one
example class for doing this: RawPointer, which can be used to force a pointer
to be printed as "%p" rather than matching any overloads that you might want to
introduce.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/DataLog.h:

(WTF):
(WTF::dataLog):

  • wtf/PrintStream.cpp:

(WTF::printInternal):
(WTF):

  • wtf/PrintStream.h:

(PrintStream):
(WTF::PrintStream::print):
(WTF):

  • wtf/RawPointer.h: Added.

(WTF):
(RawPointer):
(WTF::RawPointer::RawPointer):
(WTF::RawPointer::value):

2:59 PM Changeset in webkit [136065] by kareng@chromium.org
  • 1 edit
    4 copies in branches/chromium/1312

Merge 135874 - freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
https://bugs.webkit.org/show_bug.cgi?id=103356

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

Before introducing per context data, it used to be the case that we would ignore removing v8 object
from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
instead and we had crash reports.
Related crbug.com/154462.

Source/WebCore:

Test: platform/chromium/plugins/release-frame-content-window.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):

LayoutTests:

  • platform/chromium/plugins/release-frame-content-window-expected.txt: Added.
  • platform/chromium/plugins/release-frame-content-window.html: Added.
  • platform/chromium/plugins/resources/empty.html: Added.
  • platform/chromium/plugins/resources/empty2.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11434015

2:57 PM Changeset in webkit [136064] by kareng@chromium.org
  • 1 edit
    3 copies in branches/chromium/1312

Merge 135804 - Check for empty perContextData while creating NP V8 Object.
https://bugs.webkit.org/show_bug.cgi?id=98448

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-26
Reviewed by Adam Barth.

Fixes crash in npCreateV8ScriptObject(), if NP Invoke is called from a document
that is no longer displayed in frame (isCurrentlyDisplayedInFrame() ==
false), we have empty perContextData and this results in invalid memory access.

Source/WebCore:

Test: platform/chromium/plugins/empty-per-context-data.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject):

LayoutTests:

  • platform/chromium/plugins/empty-per-context-data-expected.txt: Added.
  • platform/chromium/plugins/empty-per-context-data.html: Added.
  • platform/chromium/plugins/resources/script-container.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11411245

2:56 PM Changeset in webkit [136063] by rjkroege@chromium.org
  • 8 edits
    12 deletes in trunk/Source

remove unused PlatformGestureCurve code
https://bugs.webkit.org/show_bug.cgi?id=103296

Reviewed by Adam Barth.

Previous CLs have made the Chromium embedder provide gesture fling
curve implementation to WebKit. Consequently no platform uses the
gestural fling code currently found in WebKit. This CL removes this code.

Code removal only: covered by existing tests.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • platform/ActivePlatformGestureAnimation.cpp: Removed.
  • platform/ActivePlatformGestureAnimation.h: Removed.
  • platform/PlatformGestureCurve.h: Removed.
  • platform/PlatformGestureCurveTarget.h: Removed.
  • platform/ScrollAnimatorNone.cpp: References to removed code removed.
  • platform/ScrollAnimatorNone.h:
  • platform/TouchFlingPlatformGestureCurve.cpp: Removed.
  • platform/TouchFlingPlatformGestureCurve.h: Removed.
  • platform/WheelFlingPlatformGestureCurve.cpp: Removed.
  • platform/WheelFlingPlatformGestureCurve.h: Removed.
  • platform/chromium/support/PlatformGestureCurveFactory.cpp: Removed.
  • platform/chromium/support/PlatformGestureCurveFactory.h: Removed.
  • platform/chromium/support/WebFlingAnimatorToGestureCurveAdapter.h: Removed.

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/PlatformGestureCurveTest.cpp: Removed.
2:53 PM Changeset in webkit [136062] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::EventHandler::handleMousePressEvent
https://bugs.webkit.org/show_bug.cgi?id=101098

Reviewed by Adam Barth.

|subframe| can be blown away inside passMousePressEventToSubframe
call. Use RefPtr to protect it in handleMousePressEvent function.
We use similar approach in handleMouseMoveEvent function.

No new tests. Test is extremely time dependent and needs to trigger
interaction gesture. Reproduced on ClusterFuzz.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

2:52 PM Changeset in webkit [136061] by tsepez@chromium.org
  • 3 edits
    2 adds in trunk

XSSAuditor bypass with script src=data: URL ending in <!--
https://bugs.webkit.org/show_bug.cgi?id=103548

Reviewed by Adam Barth.

Source/WebCore:

This fixes an additional case where characters from the page itself are
included with the snippet to match against the reflected vector, and the
JS remains legitimate because of a <!--- comment. Truncate the snippet at
such a comment.

Test: http/tests/security/xssAuditor/script-tag-with-source-data-url3.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForAttribute):

LayoutTests:

  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt: Added.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: Added.
2:46 PM Changeset in webkit [136060] by inferno@chromium.org
  • 5 edits
    2 adds in trunk

Source/WebCore: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL

LayoutTests: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingLayer
https://bugs.webkit.org/show_bug.cgi?id=101970

Reviewed by David Hyatt.

  • fast/block/float/float-not-removed-from-pre-block-expected.txt: Added.
  • fast/block/float/float-not-removed-from-pre-block.html: Added.
2:39 PM Changeset in webkit [136059] by pilgrim@chromium.org
  • 7 edits in trunk/Source

[Chromium] Remove pluginsScriptableObject from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=103542

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • plugins/PluginViewBase.h:

(PluginViewBase):
(WebCore::PluginViewBase::scriptableObject):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

2:37 PM Changeset in webkit [136058] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
https://bugs.webkit.org/show_bug.cgi?id=103560

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-28
Reviewed by Rob Buis.

PR 253490

Source/WebCore:

CookieJarBlackBerry will now use page settings to check whether
cookie is enabled.

Tested setting/reading cookies on different client cookie settings using
javascript and HTTP. Cookie behaviour is now back to spec.

  • loader/blackberry/CookieJarBlackBerry.cpp:

(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):

Source/WebKit/blackberry:

Syncing platform Websetting's cookieEnabled value with Page->setting's cookieEnabled
value.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

2:35 PM Changeset in webkit [136057] by pilgrim@chromium.org
  • 12 edits in trunk/Source

[Chromium][Win] Remove ensureFontLoaded from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97696

Reviewed by Adam Barth.

Move ensureFontLoaded() from PlatformSupport to
FontPlatformDataChromiumWin. Part of a refactoring series; see
tracking bug 82948.

Source/WebCore:

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/graphics/chromium/FontCacheChromiumWin.cpp:

(WebCore::fontContainsCharacter):

  • platform/graphics/chromium/FontChromiumWin.cpp:

(WebCore::drawGlyphsWin):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::FontPlatformData::scriptFontProperties):
(WebCore):
(WebCore::FontPlatformData::ensureFontLoaded):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(FontPlatformData):

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:

(WebCore::getGlyphIndices):
(WebCore::fillBMPGlyphs):

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):

  • platform/graphics/chromium/UniscribeHelperTextRun.cpp:

(WebCore::UniscribeHelperTextRun::tryToPreloadFont):

  • platform/graphics/skia/SkiaFontWin.cpp:

(WebCore::paintSkiaText):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

2:21 PM Changeset in webkit [136056] by bfulgham@webkit.org
  • 9 edits
    2 adds in trunk

[WinCairo] Crash when requesting favicon.
https://bugs.webkit.org/show_bug.cgi?id=102689

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-11-28
Reviewed by Brent Fulgham.

Source/WebCore:

  • platform/graphics/BitmapImage.h: Made frameCount() method virtual, subclasses made for testing can then override it.
  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize): Added NULL pointer check.
(WebCore::BitmapImage::drawFrameMatchingSourceSize): Added NULL pointer check.

Source/WebKit2:

  • win/WebKit2CFLite.def: Link fixes.
  • win/WebKit2.def: Link fixes.

Tools:

  • TestWebKitAPI/Tests/WebCore/win: Added.
  • TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp: Added.

(TestWebKitAPI::BitmapImageTest::BitmapImageTest): Allocate frame in constructor.
(TestWebKitAPI::BitmapImageTest::frameCount): Override frameCount() method.
(TestWebKitAPI::TEST): Added new test.

  • TestWebKitAPI/config.h: Make sure defines are correct for WinCairo.
    • TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new test.
2:14 PM Changeset in webkit [136055] by tony@chromium.org
  • 49 edits in trunk

Move internals.settings.setPageScaleFactor to internals.setPageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=103559

Reviewed by Jochen Eisinger.

Source/WebCore:

This method doesn't alter the Settings object, so move it to internals.

No new tests, this is a refactor.

  • testing/InternalSettings.cpp: Remove.
  • testing/InternalSettings.h: Remove.
  • testing/InternalSettings.idl: Remove.
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Add reset code.
(WebCore::Internals::setPageScaleFactor): Add method.

  • testing/Internals.h: Add method.
  • testing/Internals.idl: Add method.

LayoutTests:

This method doesn't alter the Settings object, so move it to internals.
Update the tests to call the right version.

  • compositing/geometry/fixed-position-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-composited-page-scale-scroll.html:
  • compositing/geometry/fixed-position-composited-page-scale.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale.html:
  • compositing/overflow/overflow-scaled-descendant-overlapping.html:
  • compositing/repaint/page-scale-repaint.html:
  • compositing/scaling/tiled-layer-recursion.html:
  • fast/dom/Element/scale-page-bounding-client-rect-in-frame.html:
  • fast/dom/Element/scale-page-bounding-client-rect.html:
  • fast/dom/Element/scale-page-client-rects-in-frame.html:
  • fast/dom/Element/scale-page-client-rects.html:
  • fast/dom/Range/scale-page-bounding-client-rect.html:
  • fast/dom/Range/scale-page-client-rects.html:
  • fast/dom/elementFromPoint-scaled-scrolled.html:
  • fast/dom/iframe-inner-size-scaling.html:
  • fast/dom/window-inner-size-scaling.html:
  • fast/dom/window-scroll-scaling.html:
  • fast/events/scale-and-scroll-body.html:
  • fast/events/scale-and-scroll-iframe-body.html:
  • fast/events/scale-and-scroll-iframe-window.html:
  • fast/events/scale-and-scroll-window.html:
  • fast/events/script-tests/page-scaled-mouse-click-iframe.js:

(iframeLoaded):

  • fast/events/script-tests/page-scaled-mouse-click.js:
  • fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
  • fast/events/touch/page-scaled-touch-gesture-click.html:
  • fast/events/touch/touch-scaled-scrolled.html:
  • fast/frames/frame-set-rotation-hit.html:
  • fast/frames/frame-set-scaling-hit.html:
  • fast/frames/iframe-double-scale-contents.html:
  • fast/repaint/background-scaling.html:
  • fast/repaint/scale-page-shrink.html:
  • fast/text/descent-clip-in-scaled-page-expected.html:
  • fast/text/descent-clip-in-scaled-page.html:
  • fast/transforms/selection-bounds-in-transformed-view.html:
  • inspector/elements/highlight-node-scaled.html:
  • platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html:
  • svg/as-image/image-respects-pageScaleFactor-change.html:
  • svg/as-image/image-respects-pageScaleFactor.html:
1:38 PM Changeset in webkit [136054] by Alexandru Chiculita
  • 2 edits in trunk/Source/WebCore

[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by Dave Hyatt.

Follow up update of a comment after the patch was landed by the commit queue in r135921.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

1:30 PM Changeset in webkit [136053] by Christophe Dumez
  • 10 edits in trunk

CSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
https://bugs.webkit.org/show_bug.cgi?id=101462

Reviewed by David Hyatt.

Source/WebCore:

According to the latest CSS3 Multi-column specification:
http://www.w3.org/TR/2011/CR-css3-multicol-20110412/#column-span

column-span should accept values [ none | all ], instead of
[ 1 | all ]. This patch updates WebKit implementation to reflect
this change in the specification. The value 1 is still supported
for compatibility reasons and is mapped to none.

No new tests, already covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Update expected results for several test cases now that the
default value for column-span property was renamed from 1
to none.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
1:24 PM Changeset in webkit [136052] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Chromium TestExpectations minor changes.
https://bugs.webkit.org/show_bug.cgi?id=103148

Unreviewed test expectations changes.

Making some tests flakey rather than actually failing.

  • platform/chromium/TestExpectations:
1:21 PM Changeset in webkit [136051] by eric@webkit.org
  • 5 edits
    2 adds in trunk/Tools

run-perf-tests should have a --profile option for easy profiling
https://bugs.webkit.org/show_bug.cgi?id=99517

Reviewed by Adam Barth.

This is a very basic implementation which works on Mac and Linux
and makes it trivial for anyone to profile a PerformanceTest.

Currently it's not "hard" to profile a PerformanceTest
but lowering the barriers to entry here allows all of us to focus
less on the tools and more on the code.

This also paves the way for adding easy mobile-profiling (e.g. chromium-android)
which is actually "hard", and this option will make much easier.

  • Scripts/webkitpy/common/system/profiler.py: Added.

(ProfilerFactory):
(ProfilerFactory.create_profiler):
(Profiler):
(Profiler.init):
(Profiler.adjusted_environment):
(Profiler.attach_to_pid):
(Profiler.did_stop):
(SingleFileOutputProfiler):
(SingleFileOutputProfiler.init):
(GooglePProf):
(GooglePProf.init):
(GooglePProf.adjusted_environment):
(GooglePProf.did_stop):
(Instruments):
(Instruments.init):
(Instruments.attach_to_pid):

  • Scripts/webkitpy/common/system/profiler_unittest.py: Added.

(ProfilerFactoryTest):
(ProfilerFactoryTest.test_basic):

  • Scripts/webkitpy/layout_tests/port/driver.py:

(Driver.init):
(Driver._start):
(Driver.stop):
(Driver.cmd_line):

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.parse_output):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):

1:18 PM Changeset in webkit [136050] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip flaky video test media/W3C/video/readyState/readyState_during_loadedmetadata.html.
https://bugs.webkit.org/show_bug.cgi?id=103442

  • platform/win/TestExpectations:
1:11 PM Changeset in webkit [136049] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Make source cache include more information about the function extent.
https://bugs.webkit.org/show_bug.cgi?id=103552

Reviewed by Gavin Barraclough.

Add a bit more information to the source cache.

  • parser/Parser.cpp:

(JSC::::parseFunctionInfo):

Store the function start offset

  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
(SourceProviderCacheItem):

Add additional field for the start of the real function string, and re-arrange
fields to avoid growing the struct.

1:04 PM Changeset in webkit [136048] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit2

Windows build fix.

  • win/WebKit2.def:
1:02 PM Changeset in webkit [136047] by commit-queue@webkit.org
  • 8 edits
    3 copies
    7 adds in trunk

Text Autosizing: Clusters should use width of LCA of their text nodes
https://bugs.webkit.org/show_bug.cgi?id=102562

Patch by Anton Vayvod <avayvod@chromium.org> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.

Tests: fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html

fast/text-autosizing/cluster-with-narrow-lca.html
fast/text-autosizing/cluster-with-wide-lca.html
fast/text-autosizing/list-item-out-of-flow.html
fast/text-autosizing/wide-in-narrow-overflow-scroll.html

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processCluster): use text nodes LCA instead of cluster for width calculation
(WebCore::TextAutosizer::isAutosizingContainer): list items that are out of parent list element's flow are valid containers (that therefore become clusters in isAutosizingCluster)
(WebCore::TextAutosizer::findDeepestBlockContainingAllText): searches for LCA of text nodes ignoring descendant clusters
(WebCore::TextAutosizer::findFirstTextLeafNotInCluster): searches for the first or the last (depending on specified direction) text leaf node in-order ignoring any descendant clusters

  • rendering/TextAutosizer.h: new private methods declarations and an enum for tree traversal direction.

LayoutTests:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.
Had to update a couple of existing tests since the actual width for font
size multiplier calculation has been changed by the patch.

  • fast/text-autosizing/cluster-wide-in-narrow-expected.html:
  • fast/text-autosizing/cluster-wide-in-narrow.html:
  • fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca-expected.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca.html: Added.
  • fast/text-autosizing/cluster-with-wide-lca-expected.html: Added.
  • fast/text-autosizing/cluster-with-wide-lca.html: Added.
  • fast/text-autosizing/em-margin-border-padding-expected.html:
  • fast/text-autosizing/em-margin-border-padding.html:
  • fast/text-autosizing/list-item-out-of-flow-expected.html: Added.
  • fast/text-autosizing/list-item-out-of-flow.html: Added.
  • fast/text-autosizing/wide-child-expected.html:
  • fast/text-autosizing/wide-child.html:
  • fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html: Added.
  • fast/text-autosizing/wide-in-narrow-overflow-scroll.html: Added.
12:59 PM Changeset in webkit [136046] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

cleanup: Change some code to be cleaner, more readable and style conforming
https://bugs.webkit.org/show_bug.cgi?id=103543

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Use more appropriate function name and more meaningful variable names to make the code cleaner.
This is covered by existing tests. This does not make any behavioural changes, so no new tests.

  • page/EventHandler.cpp:

(WebCore::closestScrollableNodeInDocumentIfPossible):
(WebCore::EventHandler::handleWheelEvent):

12:39 PM Changeset in webkit [136045] by Alexandru Chiculita
  • 4 edits
    4 adds in trunk

[CSS Regions] Crash when using hover and first-letter inside a flow-thread
https://bugs.webkit.org/show_bug.cgi?id=102957

Reviewed by David Hyatt.

Source/WebCore:

Some RenderObjects use a different path when they are destroyed. That's because they are dynamically
added just before layout happens and their parent is usually not their actual owner. In those cases the parent
will remove the object from the tree, but it's actually the owner that will destroy the object and all its
children.

RenderFlowThread maintains a RenderBoxRegionInfo object for each RenderObject that is rendered inside the
flow-thread. When the RenderObject is removed from the RenderFlowThread, the associated RenderBoxRegionInfo object
also needs to be removed.

In these special cases (list-marker, first-letter), the object itself was removed from the RenderFlowThread,
but its children were still left in the flow-thread. When the these special objects were later destroyed,
they will remove their own children. Removing their children means it will try to remove them from the
associated RenderFlowThread. However, in this cases there would be no link back to the parent flow-thread,
as the tree is now detached from the enclosing RenderFlowThread.

Added code that recursively removes the whole children tree from the RenderFlowThread when the root is removed.

Tests: fast/regions/firstletter-inside-flowthread.html

fast/regions/listmarker-inside-flowthread.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeRemovedFromTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

Added CSS Regions tests for the firstLetter and listMarker render objects that use
different destroy paths in the code.

  • fast/regions/firstletter-inside-flowthread-expected.html: Added.
  • fast/regions/firstletter-inside-flowthread.html: Added.
  • fast/regions/listmarker-inside-flowthread-expected.html: Added.
  • fast/regions/listmarker-inside-flowthread.html: Added.
12:32 PM Changeset in webkit [136044] by pfeldman@chromium.org
  • 13 edits in branches/chromium/1312

Merge 135720 - Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
https://bugs.webkit.org/show_bug.cgi?id=103222

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • Added node class name and id into the preview
  • Now keeps track of properties separately from array indexes.
  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorOverlayPage.html:
  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Removed.
  • platform/chromium/inspector/console/command-line-api-inspect-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:

TBR=pfeldman@chromium.org
BUG=135720
Review URL: https://chromiumcodereview.appspot.com/11434008

12:30 PM Changeset in webkit [136043] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Windows build fix after r134704.

  • WebCore.vcproj/WebCore.vcproj:
12:20 PM Changeset in webkit [136042] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, fix duplicate expectation.

  • platform/efl-wk1/TestExpectations:
12:13 PM Changeset in webkit [136041] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTests/fast/table/css-table-max-height.html failing on Qt Linux
https://bugs.webkit.org/show_bug.cgi?id=103453

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-28
Reviewed by Julien Chaffraix.

The testcase failure was due to the difference in the default line-height value
used by Qt-linux port from other ports.

  • fast/table/css-table-max-height.html:
  • platform/qt/TestExpectations:
12:12 PM Changeset in webkit [136040] by pfeldman@chromium.org
  • 8 edits
    1 copy in branches/chromium/1312

Merge 134053 - Web Inspector: wrong output for empty object {}
https://bugs.webkit.org/show_bug.cgi?id=101356

Reviewed by Vsevolod Vlasov.

Changed preview formatting to iterate over enumerable properties only + visit the prototypes.

Source/WebCore:

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:

TBR=pfeldman@chromium.org
BUG=162570
Review URL: https://chromiumcodereview.appspot.com/11415185

12:05 PM Changeset in webkit [136039] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] Auto-height regions will not calculate the height correctly when the content changes dynamically
https://bugs.webkit.org/show_bug.cgi?id=102954

Reviewed by David Hyatt.

Source/WebCore:

Whenever the flow changes, we need to reset the region computed auto-heights.
However, when we reset the region heights to "auto" or "un-computed", we also need to make
sure that all the region breaks are counted again, so that we split regions correctly during the new layout.
I've reused the m_regionsInvalidated property to force the flow do a complete layout.

Test: fast/regions/autoheight-dynamic-update.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight):

LayoutTests:

Added test to check for auto-height region size update after an element is added to the flow.
In this case the first region will need to resize to accommodate the size of the added elements.

  • fast/regions/autoheight-dynamic-update-expected.html: Added.
  • fast/regions/autoheight-dynamic-update.html: Added.
12:00 PM Changeset in webkit [136038] by scherkus@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed. Fixing lint errors introduced in r136030.

  • platform/chromium/TestExpectations:
11:55 AM Changeset in webkit [136037] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] InRenderFlowThread returns false in the first setStyle
https://bugs.webkit.org/show_bug.cgi?id=102839

Reviewed by Dave Hyatt.

Source/WebCore:

Some render objects use the "inRenderFlowThread" during the first styleWillChange/styleDidChange.
The first call to these methods comes from NodeRendererFactory::createRenderer. That happens before the RenderObject is
attached to the parent renderer, meaning that inRenderFlowThread is false. That means a RenderLayerBacking will be
created for renderers inside the RenderFlowThread, but composited layers inside the RenderFlowThread are not supported yet.
https://bugs.webkit.org/show_bug.cgi?id=84900

Test: fast/repaint/region-painting-composited-element.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRendererFactory::createRenderer):
Added code to propagate the inRenderFlowThread flag from the parent node before the style is set for the first time.

LayoutTests:

Added test to check that the composited elements added to a RenderFlowThread are painted correctly.

  • fast/repaint/region-painting-composited-element-expected.html: Added.
  • fast/repaint/region-painting-composited-element.html: Added.
11:54 AM Changeset in webkit [136036] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

Remove deprecated logging usage from QueueEngine
https://bugs.webkit.org/show_bug.cgi?id=103532

Reviewed by Dirk Pranke.

Replace usage of deprecated logging in webkitpy.tool.bot.queueengine with
logging through the Logger object. The unit test is modified to reflect
these changes.

After these changes the deprecated logging (i.e. logging to stderr) is not
used anymore through webkitpy and can be removed.

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

(QueueEngine.exit_after_handled_error):
(QueueEngine.run):
(QueueEngine._stopping):
(QueueEngine._sleep):

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

(QueueEngineTest._run_engine):

11:47 AM Changeset in webkit [136035] by tony@chromium.org
  • 23 edits in trunk/LayoutTests

Unreviewed, land updated Mac results after track limiter removal.

  • fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • fast/forms/range/input-appearance-range-expected.txt:
  • fast/forms/range/slider-padding-expected.txt:
  • fast/forms/range/slider-thumb-stylability-expected.txt:
  • fast/multicol/client-rects-expected.txt:
  • fast/repaint/slider-thumb-drag-release-expected.txt:
  • fast/repaint/slider-thumb-float-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-playing-and-pause-expected.txt:
11:43 AM Changeset in webkit [136034] by mitz@apple.com
  • 3 edits
    2 adds in trunk

<rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space: pre-wrap inline starting with tab+space has the wrong width
https://bugs.webkit.org/show_bug.cgi?id=103541

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/tab-with-kerning.html

When kerning is enabled, words are measured with their trailing space, then the width of a
space is subtracted. The logic to do this was incorrectly being invoked even when the
trailing whitespace character was a tab or a newline.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to check only for the space
character, not other space-like characters.

LayoutTests:

  • fast/text/tab-with-kerning-expected.html: Added.
  • fast/text/tab-with-kerning.html: Added.
11:37 AM Changeset in webkit [136033] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

https://bugs.webkit.org/show_bug.cgi?id=102970
[WK1] REGRESSION (r129545): Main frame doesn't rubberband unless
WebFrameLoadDelegate implements -webView:didFirstLayoutInFrame:

Reviewed by Sam Weinig.

We should always register for DidFirstLayout in WK1 since we do work
at that time besides just calling the delegate function.

  • WebView/WebView.mm:

(-[WebView _cacheFrameLoadDelegateImplementations]):

11:30 AM Changeset in webkit [136032] by ericu@chromium.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Add unit tests for ChromeClientImpl::getNavigationPolicy
https://bugs.webkit.org/show_bug.cgi?id=102424

Reviewed by Adam Barth.

This tests a bunch of basic scenarios regarding what will produce a
popup, a new foreground/background tab, or a new window.

  • WebKit.gypi: Added test file.
  • src/WebViewImpl.h:

(WebViewImpl): Added friend declaration for setCurrentInputEventForTest.

  • tests/ChromeClientImplTest.cpp: Added.
11:30 AM Changeset in webkit [136031] by Nate Chapin
  • 17 edits in trunk

Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource

load callbacks for empty loads.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::maybeLoadEmpty):
(WebCore):
(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource

loads directly here.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::serverRedirectSourceForHistory):
(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values

were previously being reset in init(). Given that the FrameLoader is in
an inconsistent state before init() is called anyway, there doesn't seem
to be a disadvantage to just initializing them to their post-init() values.

(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of

doing a bunch of direct calls to functions FrameLoader shouldn't know about.

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.

(WebCore::MainResourceLoader::loadNow): This only returned true when an empty

load got deferred, which won't happen now. Return void and always treat
as returning false.

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad): This function doesn't play nicely with empty urls and incorrectly

interprets them as a non-empty load. This change is required for

http/tests/navigation/new-window-redirect-history.html to continue to pass in chromium.

  • TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: This test relies on a callback that no longer

is sent for about:blank loads. Hook into didFinishLoadForFrame() instead.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

LayoutTests:

Don't expect resource load callbacks for empty loads.

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
11:16 AM Changeset in webkit [136030] by scherkus@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTime.html as requiring an image rebaseline.

  • platform/chromium/TestExpectations:
11:11 AM Changeset in webkit [136029] by aelias@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Handle pinch correctly in slow-scrolling area
https://bugs.webkit.org/show_bug.cgi?id=102740

Reviewed by James Robinson.

With the nonmodal gesture event model, pinch zoom gestures involve
interleaved pinch and scroll events. This caused a bug on slow-scroll
areas: the scroll events were sent to the main thread and
the pinch events were handled in the impl thread.

This patch makes it so that scroll events are always handled in the impl
thread if a pinch is active.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

  • src/WebCompositorInputHandlerImpl.h:
  • tests/WebCompositorInputHandlerImplTest.cpp:

(WebKit::TEST_F):
(WebKit):

11:01 AM Changeset in webkit [136028] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r135992. <rdar://problem/12767522>

11:00 AM Changeset in webkit [136027] by tony@chromium.org
  • 41 edits
    1 copy
    3 moves
    7 adds
    10 deletes in trunk/LayoutTests

Unreviewed, land updated Chromium results after track limiter removal.

  • fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-mac-lion/media/video-empty-source-expected.png:
  • platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/media/video-empty-source-expected.png:
  • platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
  • platform/chromium-mac/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-mac/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/range-thumb-height-percentage-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/range-thumb-height-percentage-expected.txt.
  • platform/chromium-mac/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-mac/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-mac/fast/layers/video-layer-expected.txt:
  • platform/chromium-mac/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
  • platform/chromium-mac/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-mac/media/audio-controls-rendering-expected.txt:
  • platform/chromium-mac/media/audio-repaint-expected.txt:
  • platform/chromium-mac/media/controls-after-reload-expected.txt:
  • platform/chromium-mac/media/controls-strict-expected.txt:
  • platform/chromium-mac/media/controls-styling-expected.txt:
  • platform/chromium-mac/media/controls-styling-strict-expected.txt:
  • platform/chromium-mac/media/controls-without-preload-expected.txt:
  • platform/chromium-mac/media/media-controls-clone-expected.txt:
  • platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-mac/media/video-controls-rendering-expected.txt:
  • platform/chromium-mac/media/video-display-toggle-expected.txt:
  • platform/chromium-mac/media/video-empty-source-expected.png:
  • platform/chromium-mac/media/video-empty-source-expected.txt:
  • platform/chromium-mac/media/video-no-audio-expected.txt:
  • platform/chromium-mac/media/video-playing-and-pause-expected.txt:
  • platform/chromium-mac/media/video-zoom-controls-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-win-xp/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/chromium-win-xp/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/chromium-win-xp/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-win/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-win/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-win/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-win/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-win/fast/multicol/client-rects-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-win/media/video-empty-source-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
  • platform/chromium/fast/forms/range/slider-thumb-shared-style-expected.txt: Removed.
  • platform/chromium/fast/multicol/client-rects-expected.txt: Added.
  • platform/chromium/fast/repaint/slider-thumb-float-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/slider-thumb-float-expected.txt.
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/win-future/fast/forms/range/range-thumb-height-percentage-expected.txt: Copied from LayoutTests/fast/forms/range/range-thumb-height-percentage-expected.txt.
10:55 AM Changeset in webkit [136026] by commit-queue@webkit.org
  • 5 edits in trunk

Calling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
https://bugs.webkit.org/show_bug.cgi?id=103412

Patch by Antoine Quint <Antoine Quint> on 2012-11-28
Reviewed by Eric Carlson.

Source/WebCore:

Updating the .removeCue() implementation to match the latest spec. This means we now
raise a NOT_FOUND_ERR exception when trying to remove a cue that wasn't present in the
cue list instead of a INVALID_STATE_ERR exception like the spec used to mandate.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::removeCue):

LayoutTests:

Updating the .removeCue() test checking on the exception to be NOT_FOUND_ERR instead
of INVALID_STATE_ERR.

  • media/track/track-add-remove-cue-expected.txt:
  • media/track/track-add-remove-cue.html:
10:55 AM Changeset in webkit [136025] by Lucas Forschler
  • 6 edits in branches/safari-536.28-branch/Source

Merged r119546. <rdar://problem/12765110>

10:29 AM Changeset in webkit [136024] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=103375

Unreviewed test update.

According to the original bug, at least 4 iterations were required to
crash (without the fix). To make the test faster, I've reduced the max
iteration count to 5, rather than 10. This may not fix the timeoout
issue because it might be a real timeout, not just a slow test.

  • svg/animations/mpath-remove-from-dependents-on-delete-crash.html:
10:21 AM Changeset in webkit [136023] by senorblanco@chromium.org
  • 2 edits in branches/chromium/1312/Source/WebCore/platform/graphics

Merge 135809 - [Chromium] Shared graphics context should only pushGroupMarker() once
https://bugs.webkit.org/show_bug.cgi?id=103082

Reviewed by James Robinson.

GraphicsContext3D's pushGroupMarkerEXT() is being called every time
an ImageBuffer is created, leading to unlimited memory growth, since
they share a common GraphicsContext3D. It should be called only once,
on context creation.

See also http://crbug.com/160411.

Tested by manually checking the memory usage in Chrome's TaskManager.
(Sorry, I can't think of a way to test this automatically.)

  • platform/graphics/gpu/SharedGraphicsContext3D.cpp:

(WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::createAcceleratedCanvas):

TBR=senorblanco@chromium.org
Review URL: https://codereview.chromium.org/11308248

9:53 AM Changeset in webkit [136022] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.4/safari-536.27-branch

New Tag.

9:53 AM Changeset in webkit [136021] by Lucas Forschler
  • 4 edits in branches/safari-536.27-branch/Source

Versioning.

9:48 AM Changeset in webkit [136020] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.4

New Tag.

9:46 AM Changeset in webkit [136019] by Lucas Forschler
  • 4 edits in branches/safari-536.27-branch/Source

Versioning.

9:44 AM Changeset in webkit [136018] by Lucas Forschler
  • 2 edits in branches/safari-536.27-branch/Source/WebCore

Merged r135992 -> <rdar://problem/12767505>

8:58 AM Changeset in webkit [136017] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
https://bugs.webkit.org/show_bug.cgi?id=103529

This patch enables the same behavior for Windows
as it is currently implemented for all other operating
systems supported by Qt.
Directories listed in the environment variable
QTWEBKIT_PLUGIN_PATH are being searched for additional
plugins.
The only difference is that directories on Windows
need to be separated by a semicolon instead of a colon.

Reviewed by Kenneth Rohde Christiansen.

  • plugins/win/PluginDatabaseWin.cpp:

(WebCore):
(WebCore::addQtWebKitPluginPath):
(WebCore::PluginDatabase::defaultPluginDirectories):

8:54 AM Changeset in webkit [136016] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
https://bugs.webkit.org/show_bug.cgi?id=103527

Reviewed by Jocelyn Turcotte.

Make sure m_pendingSyncBackingStores is cleared in
LayerTreeRenderer::purgeGLResources() to avoid trying to assign
backing store to layers after everything has been invalidated.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::purgeGLResources):

8:50 AM Changeset in webkit [136015] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[v8] 4% regression in dom_traverse tests
https://bugs.webkit.org/show_bug.cgi?id=102858

Unreviewed.

This patch is a manual rollout of
http://trac.webkit.org/changeset/134729. We can't do a mechanical
rollout because V8DOMWrapper::getCachedWrapper no longer exists.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

8:41 AM Changeset in webkit [136014] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Removed extra definition of GLXContext.
https://bugs.webkit.org/show_bug.cgi?id=103500

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2012-11-28
Reviewed by Martin Robinson.

A minor cleanup to remove a spare definition of GLXContext in GLContextGLX.h.

No new tests. This doesn't change any behavior.

  • platform/graphics/glx/GLContextGLX.h:
8:28 AM Changeset in webkit [136013] by commit-queue@webkit.org
  • 13 edits
    1 copy
    1 add in trunk

[chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch events.
https://bugs.webkit.org/show_bug.cgi?id=103092

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Tony Chang.

Source/WebKit/chromium:

A plugin can now request to receive raw touch events, or to receive mouse events synthesized
from the touch events, or to not receive any touch events at all.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebInputEventConversion.cpp:

(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit):

  • src/WebInputEventConversion.h:

(WebMouseEventBuilder):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Tools:

Update the test web-plugin to be able to opt-in to receive synthesized mouse events created
from touch events.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(parseTouchEventRequestType):
(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::initialize):

  • DumpRenderTree/chromium/TestWebPlugin.h:

(TestWebPlugin):

LayoutTests:

Add test for synthesized mouse events from touch (and update existing tests).

  • platform/chromium/plugins/touch-events-details.html:
  • platform/chromium/plugins/touch-events-synthesized-expected.txt: Added.
  • platform/chromium/plugins/touch-events-synthesized.html: Copied from LayoutTests/platform/chromium/plugins/touch-events.html.
  • platform/chromium/plugins/touch-events.html:
  • platform/chromium/plugins/transformed-events.html:
8:06 AM Changeset in webkit [136012] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Fix gesture scrolling when the target-element of scroll-begin is removed
https://bugs.webkit.org/show_bug.cgi?id=103355

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Source/WebCore:

When a touch-scroll starts, the node under the touch-point gets latched, and
subsequent scroll-update events are dispatched to that node. But if the node is
removed while the gesture event is in progress (e.g. in a dynamically updated
list), then the scrolling stops, although there are enough elements to still
enable scrolling. So instead of latching on to the node immediately under the
touch point, latch on to the scrollable node under the touch point.

Test: fast/events/touch/gesture/touch-gesture-scroll-remove-node.html

  • page/EventHandler.cpp:

(WebCore::getClosestScrollableNodeInDocumentIfPossible):
(WebCore):
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

Added a test that starts a touch-scroll, removes the initial element under the
touch-point, and scrolls some more, to test that the scrolling happens correctly
after the element is removed.

  • fast/events/touch/gesture/touch-gesture-scroll-remove-node-expected.txt: Added.
  • fast/events/touch/gesture/touch-gesture-scroll-remove-node.html: Added.
8:05 AM Changeset in webkit [136011] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL][WK2] Add support for PlatformWebView::simulateSpacebarKeyPress() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103123

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-28
Reviewed by Laszlo Gombos.

Add support for PlatformWebView::simulateSpacebarKeyPress().
This functionality is needed by WebKit2 API test MouseMoveAfterCrash
which is going to be unskipped in bug #103252.

  • TestWebKitAPI/efl/PlatformUtilities.cpp:

(TestWebKitAPI::Util::sleep):

  • TestWebKitAPI/efl/PlatformWebView.cpp: Use usleep() instead of

sleep().
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI):

8:03 AM Changeset in webkit [136010] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Fix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadInputForNumberText().
https://bugs.webkit.org/show_bug.cgi?id=103509

Patch by Anton Obzhirov <Anton Obzhirov> on 2012-11-28
Reviewed by Philippe Normand.

GTK build fix after r136001.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::validationMessageBadInputForNumberText):
(WebCore):

6:51 AM Changeset in webkit [136009] by Christophe Dumez
  • 3 edits in trunk/Source/WebKit2

Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
https://bugs.webkit.org/show_bug.cgi?id=103498

Reviewed by Kenneth Rohde Christiansen.

We hit the !m_pedningSyncBackingStores.contains(layer) assertion
in LayerTreeRenderer when 2 asynchronous backing store operations
are pending. The current code checks if the layer already has a
backing store in its guard but this is insufficient as it is not
checking the m_pendingSyncBackingStores hash for pending backing
store changes.

In this patch, we improve the guards in createBackingStoreIfNeeded()
and removeBackingStoreIfNeeded() to check not only if the layer has
already a backing store but also check m_pendingSyncBackingStores
for pending changes. This is safer and it allows for optimizations
in the cases where we have both a removal and a creation pending.
In those cases, we can simply cancel the pending operation instead
of queueing a new one.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
6:42 AM Changeset in webkit [136008] by dgrogan@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

IndexedDB: Remove setVersion from WK API
https://bugs.webkit.org/show_bug.cgi?id=103456

Reviewed by Darin Fisher.

These are the last vestiges of this ancient API. The bulk of the
removal was done in bug 94972.

  • public/WebIDBCallbacks.h:
  • public/WebIDBDatabase.h:
6:38 AM Changeset in webkit [136007] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][WK2] add flaky results after r135935
https://bugs.webkit.org/show_bug.cgi?id=103514

Unreviewed gardening: add flaky results after r135935 enabled
loads of reftests. Also move the existing flaky results from efl
to efl-wk2 since this does not concern WK1.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-28

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:38 AM Changeset in webkit [136006] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EFL] Use mutex locker in wakeUp() to ensure thread-safety.
https://bugs.webkit.org/show_bug.cgi?id=101132

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-28
Reviewed by Gyuyoung Kim.

Add mutex locker for the ecore pipe to ensure thread-safety of
RunLoop::wakeUp().

RunLoop::wakeUp() can be called by multiple thread. It uses
ecore_pipe_write() function but the function is not thread-safe.

  • platform/RunLoop.h:

(RunLoop):

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::wakeUp):

6:23 AM Changeset in webkit [136005] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[EFL] Refactor theme to choose whether to support foreground color of selection
https://bugs.webkit.org/show_bug.cgi?id=102037

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

If foreground selection color is supported, selected text is painted to
SelectionForegroundColor instead of text color. If not, text can be painted
to text color.

However, EFL port does not have a way to disable support of foreground
selection color. So this patch refactors color classes of theme from
active and inactive to foreground and background in order to disable support
of foreground selection color when foreground color class is not specified.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
Returned false without error message when colorClass is not specified.
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:

Refactored color classes from active/inactive to foreground/background.

6:12 AM Changeset in webkit [136004] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Minor cleanup in TestInvocation
https://bugs.webkit.org/show_bug.cgi?id=103512

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Remove a function declaration that is not defined and not used.
Fix spelling error in m_webProcessIsUnresponsive.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::invoke):

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/qt/TestInvocationQt.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

6:05 AM Changeset in webkit [136003] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-28

  • DEPS:
5:44 AM Changeset in webkit [136002] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448

Unreviewed buildfix.

To use renderStyle() on some Macs we need to include NodeRenderStyle.h.

  • dom/ContainerNode.cpp:
5:09 AM Changeset in webkit [136001] by allan.jensen@digia.com
  • 17 edits
    2 adds in trunk

Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448
https://bugs.webkit.org/show_bug.cgi?id=98021

Source/WebCore:

Reviewed by Antti Koivisto.

Moves facts observed about restyling dependencies out of RenderStyle and
into RareData for Node and Element. This also enables further cleanup
in related code that tried to deal with problems caused with the placement
of the data.

Test: fast/css/nth-child-not-in-rightmost.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkSelector):
(WebCore::SelectorChecker::checkOneSelector):

  • css/SiblingTraversalStrategies.h:

(WebCore::DOMSiblingTraversalStrategy::countElementsBefore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateSharedStyle):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::setActive):
(WebCore::ContainerNode::setHovered):

  • dom/Element.cpp:

(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setChildrenAffectedByHover):
(WebCore::Element::setChildrenAffectedByActive):
(WebCore::Element::setChildrenAffectedByDrag):
(WebCore::Element::setChildrenAffectedByFirstChildRules):
(WebCore::Element::setChildrenAffectedByLastChildRules):
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules):
(WebCore::Element::setChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::setChildIndex):
(WebCore::Element::rareDataStyleAffectedByEmpty):
(WebCore::Element::rareDataChildrenAffectedByHover):
(WebCore::Element::rareDataChildrenAffectedByActive):
(WebCore::Element::rareDataChildrenAffectedByDrag):
(WebCore::Element::rareDataChildrenAffectedByFirstChildRules):
(WebCore::Element::rareDataChildrenAffectedByLastChildRules):
(WebCore::Element::rareDataChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules):
(WebCore::Element::rareDataChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::rareDataChildIndex):

  • dom/Element.h:

(Element):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::childrenAffectedByHover):
(WebCore::Element::childrenAffectedByActive):
(WebCore::Element::childrenAffectedByDrag):
(WebCore::Element::childrenAffectedByPositionalRules):
(WebCore::Element::childrenAffectedByFirstChildRules):
(WebCore::Element::childrenAffectedByLastChildRules):
(WebCore::Element::childrenAffectedByDirectAdjacentRules):
(WebCore::Element::childrenAffectedByForwardPositionalRules):
(WebCore::Element::childrenAffectedByBackwardPositionalRules):
(WebCore::Element::childIndex):

  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::resetComputedStyle):
(WebCore::ElementRareData::resetDynamicRestyleObservations):

  • dom/Node.cpp:

(WebCore::Node::diff):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::childrenAffectedByHover):
(WebCore::NodeRareData::setChildrenAffectedByHover):
(WebCore::NodeRareData::childrenAffectedByActive):
(WebCore::NodeRareData::setChildrenAffectedByActive):
(WebCore::NodeRareData::childrenAffectedByDrag):
(WebCore::NodeRareData::setChildrenAffectedByDrag):
(NodeRareData):
(WebCore::NodeRareData::childrenAffectedByFirstChildRules):
(WebCore::NodeRareData::setChildrenAffectedByFirstChildRules):
(WebCore::NodeRareData::childrenAffectedByLastChildRules):
(WebCore::NodeRareData::setChildrenAffectedByLastChildRules):
(WebCore::NodeRareData::childrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::setChildrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::childrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::childrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::childIndex):
(WebCore::NodeRareData::setChildIndex):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):

  • page/TouchAdjustment.cpp:

(WebCore::TouchAdjustment::nodeRespondsToTapGesture):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::updateDragState):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::copyNonInheritedFrom):

  • rendering/style/RenderStyle.h:

LayoutTests:

Reviewed by Antti Koivisto.
New test-case by Takashi Sakamoto

  • fast/css/nth-child-not-in-rightmost-expected.html: Added.
  • fast/css/nth-child-not-in-rightmost.html: Added.
  • touchadjustment/event-triggered-widgets.html: Fix bug exposed by patch.
5:09 AM Changeset in webkit [136000] by kenneth@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
https://bugs.webkit.org/show_bug.cgi?id=103079

Reviewed by Simon Hausmann.

The problem was caused because we moved the page inside our viewport
in non-discrete units.

Now instead of changing the content visible in our viewport by
applying scale, and then transforming the CSS offset, we now first
discretely position the page in UI coordinates.

This patch also removes some dead code.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):

Transform according to the page position.

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setPagePosition): Now stores a float.
(EwkViewImpl::discretePagePosition): Returns the discrete page position.
(EwkViewImpl):

  • UIProcess/efl/PageClientLegacyImpl.cpp:

(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):

  • UIProcess/efl/PageViewportControllerClientEfl.h:

(WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
from the view directly.
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):

4:56 AM Changeset in webkit [135999] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
https://bugs.webkit.org/show_bug.cgi?id=103505

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

No need to export GL data members from EwkViewImpl class,
those are internal implementation objects not used by anyone outside the class.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):
(EwkViewImpl::evasGLContext):
(EwkViewImpl::evasGLSurface):

4:49 AM Changeset in webkit [135998] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Unreviewed buildfix.

Any usage of GraphicsSurface needs to be wrapped with USE(GRAPHICS_SURFACE).

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

4:45 AM Changeset in webkit [135997] by joone.hur@intel.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2][AC] Clear the viewport with white color
https://bugs.webkit.org/show_bug.cgi?id=103495

When initializing a GL surface, we should clear the buffer with white color.

Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::createGLSurface):

4:15 AM WebKit Team edited by thiago.santos@intel.com
(diff)
4:07 AM Changeset in webkit [135996] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

This is a temporary workaround for an issue with GraphicsSurfaceMac.
GraphicsSurfaceMac is currently implemented using CGL only.
CGL does not allow us to properly restore the NSView a context was made current with.
Therefore we have to go through QOpenGLContext to ensure the context
is being restored correctly.
As soon as we are updating GraphicsSurfaceMac to use NSOpenGL,
we should revert this patch.

Reviewed by Simon Hausmann.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

4:07 AM Changeset in webkit [135995] by zeno.albisser@digia.com
  • 4 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Using GraphicsSurface for WebGL in WK1 allows us to share
the code with the WK2 implementation.

Reviewed by Simon Hausmann.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):

Remove obsolete code.

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

After blitting the multisample framebuffer,
we can copy the contents onto the GraphicsSurface.
Right after that we can use the GraphicsSurface
as a texture origin to paint to the TextureMapper.
Flags related to flipping and blending are being resolved
by GraphicsSurface, and do not need to be handled here anymore.

(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):

Remove a redundant makeCurrentIfNeeded call.
The original context is being restored by
blitMultisampleFramebufferAndRestoreContext anyway.
Instead of explicitly calling swapBuffers here,
we call swapBuffers on the GraphicsSurface implicitly
after in GraphicsSurfacePrivate::copyFromTexture().

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

Add members to hold the reading end texture IDs.
The texture on the reading side are in a different
context than the texture on the writing side.
By using GraphicsSurface in WK1 we have to distinguish
between these textures, as a single instance serves
for reading and writing.

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):

Add an implicit call to swapBuffers().

(WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
(GraphicsSurfacePrivate):

  • platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

Add a flag to distinguish between sending and receiving/reading
side of the surface. This flag is being initialized in the constructor
which is the only place where we know if an instance will be used for
writing or reading.
The purpose of this flag is to avoid erroneously swapping the buffers
on the reading side. We can no longer rely on m_xPixmap for this purpose.

(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
(WebCore::GraphicsSurfacePrivate::glxPixmap):

Lazily create the GLX pixmap on demand.

(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformImport):

3:48 AM Changeset in webkit [135994] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix extra spaces in SimpleFontData::initGDIFont().

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont):

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

[V8] Crash wrapping media element when MediaPlayer isn't available
https://bugs.webkit.org/show_bug.cgi?id=103431

Patch by Dan Carney <dcarney@google.com> on 2012-11-28
Reviewed by Kentaro Hara.

Call HTMLElement::createWrapper directly when dispatching a
disabled MediaElement wrap.

No new tests. Testing this must apparently be manual.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryHeaderFile):

3:31 AM Changeset in webkit [135992] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Initialize identity matrix in SimpleFontData::initGDIFont() properly.
https://bugs.webkit.org/show_bug.cgi?id=103499
<rdar://problem/12400700>

Reviewed by Timothy Horton.

We are incorrectly initializing the matrix passed into GetGlyphOutline.
This patch fixes MAT2 initialization to match the way we initialize the
identity matrix in SimpleFontData::boundsForGDIGlyph and SimpleFontData::widthForGDIGlyph.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont):

2:26 AM Changeset in webkit [135991] by thiago.santos@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Use my personal email as bugzilla email.

  • Scripts/webkitpy/common/config/committers.py:
2:17 AM WebKit Team edited by thiago.santos@intel.com
(diff)
2:15 AM Changeset in webkit [135990] by thiago.santos@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
2:05 AM WebKit Team edited by aandrey@chromium.org
(diff)
2:05 AM Changeset in webkit [135989] by tkent@chromium.org
  • 12 edits
    3 adds
    7 deletes in trunk/LayoutTests

Merge tests for date pseudo classes into one
https://bugs.webkit.org/show_bug.cgi?id=103489

Reviewed by Kentaro Hara.

date-appearance-pseudo-classes.html doesn't need to be a pixel
test because "how css properties are applied" is tested in
date-appearance-basic.html. Checking querySelectorAll result is
enough to check pseudo classes support, and we can convert the
test to a dumpAsText test.

Also, we should remove type=date dependencies in
fast/css/pseudo-*.html because some platforms don't enable
INPUT_TYPE_DATE and we had better put such tests into one place,
fast/forms/date/.

  • fast/css/pseudo-in-range-expected.txt:
  • fast/css/pseudo-in-range-invalid-value-expected.txt:
  • fast/css/pseudo-out-of-range-expected.txt:
  • fast/css/script-tests/pseudo-in-range-invalid-value.js:
  • fast/css/script-tests/pseudo-in-range.js:
  • fast/css/script-tests/pseudo-out-of-range.js:
  • fast/forms/date/date-appearance-pseudo-classes-expected.txt: Removed.
  • fast/forms/date/date-appearance-pseudo-classes.html: Removed.
  • fast/forms/date/date-pseudo-classes-expected.txt: Added.
  • fast/forms/date/date-pseudo-classes.html: Added.
  • fast/forms/resources/common-pseudo-classes.js: Added.
  • platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
1:54 AM Changeset in webkit [135988] by aandrey@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
1:43 AM Changeset in webkit [135987] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-28
Reviewed by Noam Rosenthal.

TextureMapperLayerClientQt::setTextureMapper() must call
flushCompositingStateForThisLayerOnly() of the root layer.

Currently, PageClientQGraphicsWidget::setRootGraphicsLayer does not flush layer
states of the root layer after setting TextureMapper while
PageClientQWidget::setRootGraphicsLayer() flushes them of the root layer. If
not flushing states, descendant layers can not reach the root layer. It means
descendant layers can not reach the TextureMapper that the root layer has.

This is already the behavior for PageClientQWidget, which should be the case
for PageClientQGraphicsWidget as well.

  • WebCoreSupport/PageClientQt.cpp:

(WebCore::TextureMapperLayerClientQt::setTextureMapper):
(WebCore::PageClientQWidget::setRootGraphicsLayer):

1:43 AM Changeset in webkit [135986] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-28
Reviewed by Noam Rosenthal.

GraphicsLayerTextureMapper::updateBackingStore() should return early
before TextureMapper is set.

GraphicsLayer::FlushCompositingState() can be called by RenderLayerBacking. It
means this method can be called before creating TextureMapper. So
TextureMapperLayer::flushCompositingState() checks and returns early if
TextureMapper was not created.

However, GraphicsLayerTextureMapper::updateBackingStore() expects that TextureMapper
always exists. updateBackingStore should also return early when TextureMapper
was not created.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStore):

1:13 AM WebKit Team edited by falken@chromium.org
Add myself as a committer. (diff)
1:04 AM Changeset in webkit [135985] by tommyw@google.com
  • 14 edits
    1 copy
    6 adds in trunk

Add basic implementation for MediaStreamAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=101815

Reviewed by Chris Rogers.

Source/Platform:

Adds the consumer interface and related functionality to WebMediaStreamSource.

  • chromium/public/WebAudioDestinationConsumer.h: Added.

(WebKit):
(WebAudioDestinationConsumer):
(WebKit::WebAudioDestinationConsumer::~WebAudioDestinationConsumer):

  • chromium/public/WebMediaStreamSource.h:

(WebKit):
(WebMediaStreamSource):

Source/WebCore:

Implements an audio destination node which has a MediaStream.
This can be added to a PeerConnection with peerConnection.addStream().
Please see use case (3):
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html

Test: webaudio/mediastreamaudiodestinationnode.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore):
(WebCore::AudioContext::createMediaStreamDestination):

  • Modules/webaudio/AudioContext.h:

(WebCore):
(AudioContext):

  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp: Added.

(WebCore):
(WebCore::MediaStreamAudioDestinationNode::create):
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::mediaStreamSource):
(WebCore::MediaStreamAudioDestinationNode::~MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::process):
(WebCore::MediaStreamAudioDestinationNode::reset):

  • Modules/webaudio/MediaStreamAudioDestinationNode.h: Added.

(WebCore):
(MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::stream):

  • Modules/webaudio/MediaStreamAudioDestinationNode.idl: Added.
  • WebCore.gypi:
  • platform/audio/AudioDestinationConsumer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.cpp.

(WebCore):
(AudioDestinationConsumer):
(WebCore::AudioDestinationConsumer::~AudioDestinationConsumer):

  • platform/chromium/support/WebMediaStreamSource.cpp:

(WebKit::WebMediaStreamSource::extraData):
(WebKit::WebMediaStreamSource::setExtraData):
(WebKit::WebMediaStreamSource::requiresAudioConsumer):
(WebKit):
(ConsumerWrapper):
(WebKit::ConsumerWrapper::create):
(WebKit::ConsumerWrapper::consumer):
(WebKit::ConsumerWrapper::ConsumerWrapper):
(WebKit::ConsumerWrapper::consumeAudio):
(WebKit::WebMediaStreamSource::addAudioConsumer):
(WebKit::WebMediaStreamSource::removeAudioConsumer):

  • platform/mediastream/MediaStreamSource.cpp:

(WebCore::MediaStreamSource::create):
(WebCore::MediaStreamSource::MediaStreamSource):
(WebCore::MediaStreamSource::addAudioConsumer):
(WebCore):
(WebCore::MediaStreamSource::removeAudioConsumer):
(WebCore::MediaStreamSource::consumeAudio):

  • platform/mediastream/MediaStreamSource.h:

(WebCore):
(MediaStreamSource):
(WebCore::MediaStreamSource::requiresAudioConsumer):
(WebCore::MediaStreamSource::audioConsumers):

Tools:

Adds a bit of code that exercises the WebKit API.

  • DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:

(MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamSourceConsumer::~MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamCenter::didCreateMediaStream):

LayoutTests:

  • webaudio/mediastreamaudiodestinationnode-expected.txt: Added.
  • webaudio/mediastreamaudiodestinationnode.html: Added.
1:00 AM Changeset in webkit [135984] by falken@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

  • Scripts/webkitpy/common/config/committers.py:
12:32 AM Changeset in webkit [135983] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK1] Gardening AC testcases in efl-wk1
https://bugs.webkit.org/show_bug.cgi?id=103488

Unreviewed, EFL gardening.

efl-wk1 doesn't fully support AC.

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-28

  • platform/efl-wk1/TestExpectations:
12:31 AM Changeset in webkit [135982] by li.yin@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

  • Scripts/webkitpy/common/config/committers.py:

Nov 27, 2012:

11:58 PM Changeset in webkit [135981] by mkwst@chromium.org
  • 37 edits in trunk

Improve WebSocketChannel connection failure console messages.
https://bugs.webkit.org/show_bug.cgi?id=103448

Reviewed by Adam Barth.

Source/WebCore:

When a WebSocket connection fails, the current implementation of
WebSocketChannel::fail binds the generated console message to the
document's URL, but doesn't give much indication as to the connection
itself. This patch adjusts the console message to explicitly show the
URL of the failed connection to give developers a better chance of
debugging and resolving errors.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::fail):

Drop the URL parameter from addConsoleMessage, in favour of adding
the WebSocketHandshake's URL to the message text.

LayoutTests:

  • http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
  • http/tests/websocket/tests/hybi/broken-utf8-expected.txt:
  • http/tests/websocket/tests/hybi/close-before-open-expected.txt:
  • http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt:
  • http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-error-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-maxlength-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-continuation-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-encode-length-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-masked-frames-from-server-expected.txt:
  • http/tests/websocket/tests/hybi/long-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
  • http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
  • http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt:
  • http/tests/websocket/tests/hybi/send-file-blob-fail-expected.txt:
  • http/tests/websocket/tests/hybi/too-long-payload-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
  • http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/workers/close-expected.txt:

Update test expectations with the new error messages.

11:42 PM Changeset in webkit [135980] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed functionality fix, return the height in ImageFrame::height()
on non-Skia platforms.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::height):

11:09 PM WebKit Team edited by Christophe Dumez
Add myself to the committers list (diff)
10:59 PM Changeset in webkit [135979] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
10:50 PM Changeset in webkit [135978] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as flaky on Linux, too.

  • platform/chromium/TestExpectations:
10:07 PM Changeset in webkit [135977] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failing on all of Mac.

  • platform/chromium/TestExpectations:
9:41 PM Changeset in webkit [135976] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

Optimization in image decoding
https://bugs.webkit.org/show_bug.cgi?id=88424

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-27
Reviewed by Brent Fulgham.

Optimization in image decoding.
Reduce branching and multiplications in GIF image decoding loops and functions.
Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com>

Covered by existing tests.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::haveDecodedRow):

9:39 PM Changeset in webkit [135975] by vivek.vg@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

9:35 PM Changeset in webkit [135974] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=96720

  • platform/chromium/TestExpectations:

datetimelocal-multiple-fields-preserve-value-after-history-back.html is flaky.

9:28 PM Changeset in webkit [135973] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.

As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.

  • UIProcess/API/efl/ewk_view.cpp:

(createEwkView):

9:27 PM WebKit Team edited by li.yin@intel.com
(diff)
9:27 PM Changeset in webkit [135972] by msaboff@apple.com
  • 8 edits in trunk/Source

TextIterator unnecessarily converts 8 bit strings to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=103295

Reviewed by Brent Fulgham.

Source/WebCore:

Changed TextIterator to use the contained string instead of calling characters() on that string.
Other sources of text, like emitCharacter() still use the contained UChar* buffer.
Added appendTextToStringBuilder() to append the text contents of the current iterator to a string builder
irrespective of the source of the text.

No new tests as functionality covered by existing tests.

  • WebCore.exp.in: Updated plainText export and eliminated plainTextToMallocAllocatedBuffer export
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::stringForVisiblePositionRange): Updated to use TextIterator::appendTextToStringBuilder()

  • editing/TextIterator.cpp:

(WebCore::TextIterator::characterAt): New function to return the indexed character of the current TextIterator
(WebCore::TextIterator::appendTextToStringBuilder): Added method to append whatever the current text to a StringBuilder
(WebCore::TextIterator::emitText): Eliminated accessing the character data via characters().
(WebCore::TextIterator::rangeFromLocationAndLength): Changed to use characterAt().
(WebCore::plainText): Combined with plainTextToMallocAllocatedBuffer().

  • editing/TextIterator.h:

(WebCore::TextIterator::startOffset): New getter.
(WebCore::TextIterator::string): New getter.
(WebCore::TextIterator::characters): Updated to use correct test source.

  • page/ContextMenuController.cpp:

(WebCore::selectionContainsPossibleWord): Changed to use characterAt().

Source/WebKit/mac:

Updated _stringForRange to use plainText() instead of removed plainTextToMallocAllocatedBuffer().

  • WebView/WebFrame.mm:

(-[WebFrame _stringForRange:]):

9:24 PM Changeset in webkit [135971] by noel.gordon@gmail.com
  • 4 edits in trunk/Source/WebCore

Inline ImageFrame width() and height()
https://bugs.webkit.org/show_bug.cgi?id=103401

Reviewed by Brent Fulgham.

Inline ImageFrame width() and height() to improve the performance of ImageFrame
function getAddr(x,y) per https://bugs.webkit.org/show_bug.cgi?id=88424#c38

No new tests. Covered by many existing tests.

  • platform/image-decoders/ImageDecoder.cpp: Remove width() and height() routines

since they now inlined in the ImageFrame class definition in ImageDecoder.h.

  • platform/image-decoders/ImageDecoder.h: Add inline definitions of width() and

height() for all ports.

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::ImageFrame::width): Remove.
(WebCore::ImageFrame::height): Remove.

9:13 PM Changeset in webkit [135970] by tony@chromium.org
  • 2 edits in trunk/Tools

Bring back partytime!
https://bugs.webkit.org/show_bug.cgi?id=103466

Reviewed by Adam Barth.

"code 404, message Unknown function images/partytime_gif" since we didn't
allow .gif or .png files to be served.

  • Scripts/webkitpy/tool/servers/gardeningserver.py:

(GardeningHTTPRequestHandler):

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

Remove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
https://bugs.webkit.org/show_bug.cgi?id=103461

Patch by Michael Pruett <michael@68k.org> on 2012-11-27
Reviewed by Kentaro Hara.

The assertion is applicable only to the Chromium port.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):

8:48 PM Changeset in webkit [135968] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times-out on win release
https://bugs.webkit.org/show_bug.cgi?id=96953

  • platform/chromium/TestExpectations:
8:37 PM Changeset in webkit [135967] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
https://bugs.webkit.org/show_bug.cgi?id=103474

Reviewed by Hajime Morita.

The code introduced in r135174 looks verbose. We would like to make it simpler.
We have removed several inline functions and unnecessary structs.

No new tests, simple refactoring.

  • dom/Element.cpp:

(WebCore):
(WebCore::checkSelectorForClassChange):
(WebCore::Element::classAttributeChanged):
(WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):

7:18 PM Changeset in webkit [135966] by tkent@chromium.org
  • 40 edits
    26 adds in trunk/LayoutTests

[Chromium] Update test results for recent forms changes

  • platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
  • platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium/TestExpectations:
6:50 PM WebKit Team edited by james.wei@intel.com
(diff)
6:42 PM CommitterTips edited by james.wei@intel.com
(diff)
6:16 PM Changeset in webkit [135965] by jchaffraix@webkit.org
  • 5 edits
    8 adds in trunk

Support proper <percent> / calc() resolution for grid items
https://bugs.webkit.org/show_bug.cgi?id=102968

Reviewed by Ojan Vafai.

Source/WebCore:

This change introduces a mechanism similar to logical height / width override
but for containing block. This is required as we don't have a renderer for the
grid area but any <percent> or calc() size should be resolved against the grid
area size (which is sized after the grid tracks).

Tests: fast/css-grid-layout/calc-resolution-grid-item.html

fast/css-grid-layout/percent-resolution-grid-item.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
Remove any containing block size override.

(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::clearContainingBlockOverrideSize):
Containing block override size functions.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
Updated the function to check for any override logical width.

(WebCore::RenderBox::containingBlockLogicalHeightForContent):
New function, similar to RenderBox::containingBlockLogicalWidthForContent.

(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
Updated these function to return overrideContainingBlockContentLogicalHeight as needed.

(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
Updated these functions to use the new containingBlockLogicalHeightForContent instead
of availableLogicalHeight.

  • rendering/RenderBox.h:

Added the previous new functions.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
Updated to override the containing block size so that we properly size our grid items.

LayoutTests:

  • fast/css-grid-layout/calc-resolution-grid-item-expected.txt: Added.
  • fast/css-grid-layout/calc-resolution-grid-item.html: Added.
  • fast/css-grid-layout/percent-resolution-grid-item-expected.txt: Added.
  • fast/css-grid-layout/percent-resolution-grid-item.html: Added.

Test that checks that our override containing block's logical width / height logic
works as expected.

  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-expected.txt: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid-expected.txt: Added.

Those test cases covers the cases of percentage sized grid items with percentage sized grid tracks
inside a fixed or percentage sized grid element. They don't pass yet as we don't support percentage
sized grid tracks (see bug 103335).

6:08 PM Changeset in webkit [135964] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add more tests that started failing after http://trac.webkit.org/changeset/135935
to TestExpectations. Mark pailures as [ ImageOnlyFailure Pass ] because
the failures on Release and Debug bots are not the same.

  • platform/efl/TestExpectations:
6:03 PM Changeset in webkit [135963] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

Fix build errors by r135955.

  • dom/ShadowRoot.cpp: Use struct instead of class.
  • dom/TreeScope.cpp: Ditto.
5:52 PM Changeset in webkit [135962] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
https://bugs.webkit.org/show_bug.cgi?id=103171

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

Ensure that TextureMapperLayer has a backing store when the layer has
drawsContent and contentsVisible properties and the size of the layer is not
empty.

LayerTreeRenderer::setLayerState() must not set a backing store to
TextureMapperLayer because setLayerState() just changes states of
GraphicsLayerTextureMapper instead of TextureMapperLayer.

Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
states to TextureMapperLayer.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::flushLayerChanges):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(WebCore):

5:48 PM Changeset in webkit [135961] by danakj@chromium.org
  • 4 edits in trunk/LayoutTests

Rebaseline and remove expectations for deferred virtual test suite
https://bugs.webkit.org/show_bug.cgi?id=102294

Unreviewed gardening.

These three tests are failing on mac, but other platforms are fine.
Rebaseline windows, and mark as failing only for Mac.

  • platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-css-expected.png:
  • platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-expected.png:
  • platform/chromium/TestExpectations:
5:44 PM Changeset in webkit [135960] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: crashing on XP
fast/frames/sandboxed-iframe-navigation-parent.html
https://bugs.webkit.org/show_bug.cgi?id=103472

  • platform/chromium/TestExpectations:
5:43 PM Changeset in webkit [135959] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does not take effect until Inspector restart
https://bugs.webkit.org/show_bug.cgi?id=102210

Patch by Eugene Klyuchnikov <eustas@chromium.com> on 2012-11-27
Reviewed by Pavel Feldman.

The checkbox changes should take effect in the real time.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.GenericSettingsTab):
Do not show checkpox if browser is not capable.

  • inspector/front-end/TimelinePanel.js:

Added setting change listener.

5:33 PM Changeset in webkit [135958] by timothy_horton@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

PDFPlugin: Should not be able to edit read-only text annotations
https://bugs.webkit.org/show_bug.cgi?id=103387
<rdar://problem/12752313>

Reviewed by Alexey Proskuryakov.

Don't allow read-only annotations to become active.

  • WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
  • WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
5:29 PM Changeset in webkit [135957] by fpizlo@apple.com
  • 8 edits in trunk/Source

Convert some remaining uses of FILE* to PrintStream&.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::dump):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::dump):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGNode.h:

(JSC::DFG::Node::dumpChildren):

Source/WTF:

  • wtf/BitVector.cpp:

(WTF::BitVector::dump):

  • wtf/BitVector.h:

(BitVector):

5:21 PM Changeset in webkit [135956] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103298

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

This patch makes LayerTreeRenderer assign a content backing store to
TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
the backing store to TextureMapperLayer and it can break the invariant condition
of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
the layer has following conditions: drawsContent, contentsVisible and non empty
size.

In addition, the modified code about creating and removing a backing store
matches the same purpose code of CoordinatedGraphicsLayer and
GraphicsLayerTextureMapepr.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(CoordinatedBackingStore):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::layerShouldHaveBackingStore):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStore):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):

This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.

5:15 PM Changeset in webkit [135955] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Compile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.

Rubber-stamped by Anders Carlsson.

  • dom/ShadowRoot.cpp:

(SameSizeAsShadowRoot):

  • dom/TreeScope.cpp:

(SameSizeAsTreeScope):

  • dom/ElementAttributeData.cpp: Derp.
5:14 PM Changeset in webkit [135954] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
Layout Test http/tests/navigation/slowmetaredirect-basic.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103471

  • platform/chromium/TestExpectations:
5:09 PM Changeset in webkit [135953] by tony@chromium.org
  • 29 edits
    2 moves
    1 add
    2 deletes in trunk/LayoutTests

Unreviewed, land updated Gtk results after track limiter removal.

  • fast/dom/HTMLInputElement/input-slider-update-expected.txt: Renamed from LayoutTests/platform/chromium/fast/dom/HTMLInputElement/input-slider-update-expected.txt.
  • fast/forms/range/input-appearance-range-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
  • platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/gtk/fast/forms/range/slider-padding-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-float-expected.txt:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/media-controls-clone-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.txt:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.txt:
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed.
  • platform/mac/fast/forms/range/input-appearance-range-expected.txt: Removed.
5:07 PM Changeset in webkit [135952] by simonjam@chromium.org
  • 40 edits
    1 add in trunk/Source

Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151

Reviewed by Adam Barth.

Source/WebCore:

There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
the refactoring done with CachedResourceRequest and CachedResourceLoader.

No new tests. No change in functionality.

  • WebCore.exp.in:
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
(WebCore::FrameLoadRequest::lockHistory): Ditto.
(FrameLoadRequest):
(WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::substituteData): Ditto.
(WebCore::FrameLoadRequest::setSubstituteData): Ditto.
(WebCore::FrameLoadRequest::hasSubstituteData): Ditto.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.

  • loader/FrameLoader.h:

(FrameLoader):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

  • Plugins/WebPluginController.mm:
  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::QWebFrame):
(QWebFrame::load):
(QWebFrame::setHtml):
(QWebFrame::setContent):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setAlternateHtml):
(qt_dump_set_accepts_editing):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callErrorPageExtension):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

  • WebView.cpp:

(WebView::load):

Source/WebKit/wx:

  • WebFrame.cpp:

(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):

5:03 PM Changeset in webkit [135951] by commit-queue@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

Add behavior tests for input[type=datetime-local] with multiple fields
https://bugs.webkit.org/show_bug.cgi?id=103386

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-27
Reviewed by Kent Tamura.

  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event.html: Added.
  • fast/forms/resources/multiple-fields-blur-and-focus-events.js:

(startTestFor): Support datetime and datetime-local.

5:00 PM Changeset in webkit [135950] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
media/video-currentTime-set.html crashes
https://bugs.webkit.org/show_bug.cgi?id=103183

  • platform/chromium/TestExpectations:
4:57 PM Changeset in webkit [135949] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add tests that started failing after http://trac.webkit.org/changeset/135935
to TestExpectations.

  • platform/efl/TestExpectations:
4:54 PM Changeset in webkit [135948] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
http/tests/inspector/network/network-xhr-replay.html times out crashes
https://bugs.webkit.org/show_bug.cgi?id=96953

  • platform/chromium/TestExpectations:
4:53 PM Changeset in webkit [135947] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; NSSize is not a CGSize in 32-bit.

  • platform/mac/WebCoreFullScreenWarningView.mm:
4:48 PM Changeset in webkit [135946] by tony@chromium.org
  • 11 edits
    3 moves
    4 deletes in trunk/LayoutTests

Unreviewed, land updated Qt results after track limiter removal.

  • fast/forms/range/slider-padding-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/slider-padding-expected.txt.
  • fast/multicol/client-rects-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/multicol/client-rects-expected.txt.
  • fast/repaint/slider-thumb-drag-release-expected.txt: Renamed from LayoutTests/platform/chromium/fast/repaint/slider-thumb-drag-release-expected.txt.
  • platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Removed.
  • platform/mac/fast/forms/range/slider-padding-expected.txt: Removed.
  • platform/mac/fast/multicol/client-rects-expected.txt: Removed.
  • platform/mac/fast/repaint/slider-thumb-drag-release-expected.txt: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/qt/fast/forms/box-shadow-override-expected.txt:
  • platform/qt/fast/forms/range/input-appearance-range-expected.txt:
  • platform/qt/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/qt/fast/forms/range/slider-padding-expected.txt:
  • platform/qt/fast/multicol/client-rects-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-float-expected.txt:
4:42 PM Changeset in webkit [135945] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Attempted build fix for my last commit. The private member variable
is only used on MAC (at the moment) so guard it with #if PLATFORM.
I did this rather than having another constructor, because I expect
other platforms will follow the MAC code soon.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):

  • html/shadow/MediaControlElements.h:
4:40 PM Changeset in webkit [135944] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
https://bugs.webkit.org/show_bug.cgi?id=100025

Reviewed by Dan Bernstein.

Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with
instructions to click the placeholder to exit full screen.

  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
(-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
(-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
(-[WKFullScreenWindowController enterFullScreen:]): Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
(-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting

from full screen mode when the full screen window is not on screen.

(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
(-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
(-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
(-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
(-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:

4:40 PM Changeset in webkit [135943] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

4:40 PM Changeset in webkit [135942] by abarth@webkit.org
  • 2 edits in trunk/Tools

run-perf-tests fails on Android because of stderr output
https://bugs.webkit.org/show_bug.cgi?id=103462

Reviewed by Ryosuke Niwa.

The chromium-android port produces some stderr output that causes
run-perf-tests to get sad and not record the results of the performance
test. This patch teaches run-perf-test to ignore this output much in
the same way that it currently ignores some stdout messages.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.run):
(PerfTest._should_ignore_line):
(PerfTest):
(PerfTest._should_ignore_line_in_stderr):
(PerfTest._filter_stderr):
(PerfTest._should_ignore_line_in_parser_test_result):

4:38 PM Changeset in webkit [135941] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Add a new shared class WebCoreFullScreenPlaceholderView, for use in WebKit and WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=102300

Reviewed by Anders Carlsson.

Add a new shared class WebCoreFullScreenPlaceholderView, which presents the contents of the
WebView prior to full screen with a message informing the user how to exit from full screen mode.

  • platform/mac/WebCoreFullScreenPlaceholderView.mm:

(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Create the warning view and set up the placeholder layer.
(-[WebCoreFullScreenPlaceholderView setContents:]): Pass along to content view layer.
(-[WebCoreFullScreenPlaceholderView contents]): Ditto.
(-[WebCoreFullScreenPlaceholderView setExitWarningVisible:]): Show or hide the exit warning.
(-[WebCoreFullScreenPlaceholderView mouseDown:]): Call the target with action.

Add a localized string entry for the "click to exit" text:

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::clickToExitFullScreenText):

  • platform/LocalizedStrings.h:
  • English.lproj/Localizable.strings:

Add the new files to the project and exports list:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
4:37 PM Changeset in webkit [135940] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.2

New Tag.

4:34 PM Changeset in webkit [135939] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Shrink ShadowRoot and TreeScope.
<http://webkit.org/b/103459>

Reviewed by Antti Koivisto.

We're creating ~1500 ShadowRoots on Apple's PLT3 content (from <input> and <textarea> elements)
and a lot of this is wasted space.

Shrink ShadowRoot and TreeScope a bit by making TreeScope's DocumentOrderedMaps heap-allocated
and packing the counters on ShadowRoot harder together with the bits.

202kB progression on Membuster3.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):

  • dom/ShadowRoot.h:

(WebCore::ShadowRoot::countElementShadow):
(ShadowRoot):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::removeElementById):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::removeImageMap):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::addLabel):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):

  • dom/TreeScope.h:

(WebCore::TreeScope::shouldCacheLabelsByForAttribute):
(TreeScope):
(WebCore::TreeScope::hasElementWithId):
(WebCore::TreeScope::containsMultipleElementsWithId):

4:24 PM Changeset in webkit [135938] by tony@chromium.org
  • 22 edits
    4 adds in trunk/LayoutTests

Unreviewed, land updated EFL results after track limiter removal.

  • platform/efl/TestExpectations:
  • platform/efl/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/efl/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/efl/fast/forms/box-shadow-override-expected.txt:
  • platform/efl/fast/forms/input-appearance-height-expected.txt:
  • platform/efl/fast/forms/range/input-appearance-range-expected.txt:
  • platform/efl/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/efl/fast/forms/range/slider-padding-expected.txt:
  • platform/efl/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/efl/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
  • platform/efl/fast/layers/video-layer-expected.txt:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/efl/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/efl/media/audio-controls-rendering-expected.txt:
  • platform/efl/media/controls-strict-expected.txt:
  • platform/efl/media/controls-styling-strict-expected.txt:
  • platform/efl/media/controls-without-preload-expected.txt:
  • platform/efl/media/media-controls-clone-expected.txt:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/efl/media/video-display-toggle-expected.txt:
  • platform/efl/media/video-empty-source-expected.txt:
  • platform/efl/media/video-no-audio-expected.txt:
  • platform/efl/media/video-zoom-controls-expected.txt:
4:23 PM Changeset in webkit [135937] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Add a new shared class WebCoreFullScreenWarningView which presents a styled warning message.
https://bugs.webkit.org/show_bug.cgi?id=102299

Reviewed by Alexey Proskuryakov.

Add a shared implementation of a warning view for use in WebKit and WebKit2.

  • platform/mac/WebCoreFullScreenWarningView.h: Added.
  • platform/mac/WebCoreFullScreenWarningView.mm: Added.

(-[WebCoreFullScreenWarningView initWithTitle:]): Create the view.

Add the new files to the project and exports list:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [135936] by tony@chromium.org
  • 2 edits in trunk/Tools

Fix garden-o-matic for non-chromium ports
https://bugs.webkit.org/show_bug.cgi?id=103458

Reviewed by Adam Barth.

I was getting a 403 error when trying to select any non-chromium port.

  • Scripts/webkitpy/tool/servers/reflectionhandler.py:

(ReflectionHandler._handle_request): Use the path without query params.

3:56 PM Changeset in webkit [135935] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[EFL][WK2] 3D pixel tests are failing
https://bugs.webkit.org/show_bug.cgi?id=102833

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added an API for generating a snapshot, to be used from WebKitTestRunner.

  • PlatformEfl.cmake:
  • UIProcess/API/C/efl/WKView.cpp:

(WKViewGetSnapshot):

  • UIProcess/API/C/efl/WKView.h:
  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::onFaviconChanged):
(EwkViewImpl::takeSnapshot):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):

  • UIProcess/API/efl/SnapshotImageGL.cpp: Added.

(getImageFromCurrentTexture):

  • UIProcess/API/efl/SnapshotImageGL.h: Added.

Tools:

Generate a snapshot of the view in the UI process instead of the web process.
We have to use Texture Mapper in order to correctly paint 3D transforms etc.

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::writeFunction):
(WTR::paintRepaintRectOverlay):
(WTR):
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::windowSnapshotImage):

3:45 PM Changeset in webkit [135934] by dino@apple.com
  • 14 edits
    2 adds in trunk

Make track list control active
https://bugs.webkit.org/show_bug.cgi?id=101670

Reviewed by Eric Carlson.

Source/WebCore:

Hook up the event handler for the captions menu so that it enables or
disables tracks in the associated HTMLMediaElement.

Test: media/video-controls-captions-trackmenu.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::toggleTrackAtIndex): New method to toggle the state of a track, by index.

  • html/HTMLMediaElement.h:

(HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::textTracksOffIndex): Static method to return the "Off" value.

  • html/shadow/MediaControlElements.cpp:

(WebCore::trackListIndexForElement): Helper function to take a track list <li> element and return the value of the custom attribute.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType): Toggle the state of the button based on captions visibility.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): On Mac platforms show the captions menu. On other platforms, toggle captions.
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Now has a reference to the controls.
(WebCore::MediaControlClosedCaptionsTrackListElement::create):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): When the user clicks on a track list item, look
for the custom attribute that identifies the associated track, and then toggle that track.
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Set a class on the track list elements so they can be
styled by the injected CSS (with tick marks to represent visibility).
(WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): When building the list of track menu items, add
a custom HTML attribute to the element so that the corresponding track can be found in the event handler.

  • html/shadow/MediaControlElements.h:

(MediaControlClosedCaptionsTrackListElement): Add a list of elements representing the track list.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::createControls):
(WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Make sure to update the track menu.
(WebCore::MediaControlsApple::reset):

  • html/shadow/MediaControlsApple.h:

(MediaControlsApple):

LayoutTests:

New test that exercises the track list menu, and how it can be used
to enable specific tracks. Since this is only enabled for Mac, it is
skipped on all other platforms.

Meanwhile, the existing test for a on/off captions button now
does not work on Mac, so skip it there. I copied the functionality
into the new test so we still have coverage.

  • media/video-controls-captions-trackmenu-expected.txt: Added.
  • media/video-controls-captions-trackmenu.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
3:39 PM Changeset in webkit [135933] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation in JSValue.h

Rubber stamped by Mark Hahnenberg.

  • runtime/JSValue.h:
3:35 PM Changeset in webkit [135932] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1312

Merge 135906
BUG=162835
Review URL: https://codereview.chromium.org/11415160

3:33 PM Changeset in webkit [135931] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1271

Merge 135906
BUG=162835
Review URL: https://codereview.chromium.org/11415159

3:27 PM Changeset in webkit [135930] by abarth@webkit.org
  • 4 edits in trunk/Tools

Make it possible to run performance tests on Chromium Android
https://bugs.webkit.org/show_bug.cgi?id=103268

Reviewed by Ryosuke Niwa.

Based on a patch by Peter Beverloo.

This patch (almost) makes it possible to run WebKit performance tests
on the Chromium port for Android. There are a few things I had to do
in order to make this happen:

1) The worker number when creating a driver for a port is zero-based

for layout tests and elsewhere. Android uses this to determine
which device it has to run on, so make it zero based for performance
tests as well.

2) Tests aren't available on the Android device, so we start an HTTP

server that serves the tests to the device or emulator.

The one shortcoming of this patch is that chromium-android produces
some stderr output that confuses run-perf-tests. I'll address that
issue in a subsequent CL. This patch also depends on
https://codereview.chromium.org/11416182 in order to work.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.start_http_server):
(ChromiumAndroidDriver._command_from_driver_input):

  • Scripts/webkitpy/performance_tests/perftest.py:

(ReplayPerfTest.prepare):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):
(PerfTestsRunner._parse_args):
(PerfTestsRunner._start_servers):
(PerfTestsRunner):
(PerfTestsRunner._stop_servers):
(PerfTestsRunner.run):
(PerfTestsRunner._run_tests_set):

3:17 PM Changeset in webkit [135929] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[chromium] Add WebLayerTreeViewClient API to request font atlas
https://bugs.webkit.org/show_bug.cgi?id=102958

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by James Robinson.

This change makes the font atlas creation accessible to the WebLayerTreeView.

Source/Platform:

  • chromium/public/WebLayerTreeViewClient.h:

(WebKit):
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::createFontAtlas):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::createFontAtlas):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

3:13 PM Changeset in webkit [135928] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/chromium/TestExpectations:
3:08 PM Changeset in webkit [135927] by jsbell@chromium.org
  • 13 edits in trunk/Source

IndexedDB: Simplify transaction timers and event tracking
https://bugs.webkit.org/show_bug.cgi?id=102984

Reviewed by Tony Chang.

Source/WebCore:

Now that the transaction "commit" decision is made on the front-end, the back end no-longer
needs to be aware of when individual IDBRequests have dispatched to script or track pending
events (except for preemptive ones like createIndex). This also lets two timers be collapsed
into one which significantly simplifies the code flow in IDBTransactionBackendImpl.

No new tests - just simplification. Exercised by storage/indexeddb/transaction-*.html etc.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::prefetchContinueInternal): No more tracking.
(WebCore::IDBCursorBackendImpl::prefetchReset): No more tracking.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): No more tracking.
(WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): No more tracking.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): No more tracking.

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::dispatchEvent): Order must be:

  1. request is unregistered from transaction (so request list may be empty)
  2. abort transaction if event being dispatched was an error
  3. deactivate transaction (which may commit if #1 left it empty and #2 didn't abort)
  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Need to track if commit
was requested; previously the front end would have triggered an event timer which, on
completion, would be the signal that the front end was finished.
(WebCore::IDBTransactionBackendImpl::scheduleTask): Schedule a timer to service the new
task, if necessary.
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::hasPendingTasks):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired): Picks up "commit" responsibilities
from the now deleted taskEventTimerFired, if everything is truly complete done.

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(IDBTransactionBackendImpl):

  • Modules/indexeddb/IDBTransactionBackendInterface.h:

(WebCore::IDBTransactionBackendInterface::didCompleteTaskEvents): Removed from interface.

Source/WebKit/chromium:

Remove now-unused didCompleteTaskEvents() method.

  • src/IDBTransactionBackendProxy.cpp:
  • src/IDBTransactionBackendProxy.h:

(IDBTransactionBackendProxy):

  • src/WebIDBTransactionImpl.cpp:
  • src/WebIDBTransactionImpl.h:
3:01 PM Changeset in webkit [135926] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/gtk/TestExpectations:
2:45 PM Changeset in webkit [135925] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFPlugin: Page scale factor should affect subframe PDFs
https://bugs.webkit.org/show_bug.cgi?id=103291
<rdar://problem/12555249>

Reviewed by Darin Adler.

For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
so it can scale its drawing appropriately.

  • WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
instead of manually updating PDFLayerController's device scale factor.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
the "underlying" (non-zoom) content scale, which is the product of the
device scale and the page scale.
(WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
(WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
PDFLayerController's notion of the page scale up to date when the plugin's
geometry changes.

2:42 PM Changeset in webkit [135924] by Lucas Forschler
  • 6 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r128205 and parts of 127334 for <rdar://problem/12516355>

2:34 PM Changeset in webkit [135923] by fpizlo@apple.com
  • 10 edits
    6 adds in trunk

DFG SetLocal should use forwardSpeculationCheck instead of its own half-baked version of same
https://bugs.webkit.org/show_bug.cgi?id=103353

Reviewed by Oliver Hunt and Gavin Barraclough.

Source/JavaScriptCore:

Made it possible to use forward speculations for most of the operand classes. Changed the conditional
direction parameter from being 'bool isForward' to an enum (SpeculationDirection). Changed SetLocal
to use forward speculations and got rid of its half-baked version of same.

Also added the ability to force the DFG's disassembler to dump all nodes, even ones that are dead.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::fillStorage):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::gpr):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(SpeculateBooleanOperand):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • runtime/Options.h:

(JSC):

LayoutTests:

  • fast/js/dfg-intrinsic-side-effect-assignment-osr-exit-expected.txt: Added.
  • fast/js/dfg-intrinsic-side-effect-assignment-osr-exit.html: Added.
  • fast/js/dfg-side-effect-assignment-osr-exit-expected.txt: Added.
  • fast/js/dfg-side-effect-assignment-osr-exit.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-intrinsic-side-effect-assignment-osr-exit.js: Added.

(foo):

  • fast/js/script-tests/dfg-side-effect-assignment-osr-exit.js: Added.

(foo):
(bar):

2:29 PM Changeset in webkit [135922] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGeneratorV8.pm with V8StringResource
https://bugs.webkit.org/show_bug.cgi?id=103391

Reviewed by Adam Barth.

This is an incremental effort for fixing bug 103331.
I confirmed that this patch causes no performance regression
for the micro benchmarks (https://bugs.webkit.org/attachment.cgi?id=176178).

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::TestEventTargetV8Internal::addEventListenerCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerCallback):

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

(WebCore::TestObjV8Internal::addEventListenerCallback):
(WebCore::TestObjV8Internal::removeEventListenerCallback):

2:23 PM Changeset in webkit [135921] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by David Hyatt.

Source/WebCore:

When the page is composited, all the elements will have a composited repaint container. In that case we will
never catch the repaints in the RenderFlowThread, but they will go directly to the RenderView.
There's a single case when the parent composited layer of an element inside the RenderFlowThread will get
its own repaints. That case only happens when the parent composited layer is also part of the same flow thread.
Right now compositing is disabled for elements inside the RenderFlowThread, so that case doesn't even happen yet.
That will be fixed in https://bugs.webkit.org/show_bug.cgi?id=84900.

Test: fast/repaint/region-painting-in-composited-view.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

LayoutTests:

Added test file to check for repainting inside a RenderFlowThread when the page is in composited mode.

  • fast/repaint/region-painting-in-composited-view-expected.html: Added.
  • fast/repaint/region-painting-in-composited-view.html: Added.
2:19 PM EFLWebKitBuildBots edited by laszlo.gombos@gmail.com
fix spelling (diff)
2:17 PM Changeset in webkit [135920] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, win compile fix take 2.

Try again to force this file to recompile.

  • rendering/RenderingAllInOne.cpp:
2:11 PM Changeset in webkit [135919] by tony@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
2:01 PM Changeset in webkit [135918] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, win compile fix.

Touch RenderingAllInOne.cpp to force it to rebuild.

  • rendering/RenderingAllInOne.cpp:
1:58 PM Changeset in webkit [135917] by jchaffraix@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed Qt gardening.

  • platform/qt/TestExpectations:

Skipped fast/table/css-table-max-height.html as it is showing a 12px difference.
The test is actually passing but the output wouldn't make it obvious that it is the case.

1:56 PM Changeset in webkit [135916] by timothy_horton@apple.com
  • 5 edits in trunk/Source

PDFPlugin: Scroll bars do not grow on hover
https://bugs.webkit.org/show_bug.cgi?id=103382
<rdar://problem/12555262>

Reviewed by Beth Dakin.

PDFPlugin needs to forward relevant mouse events to the scrollbars.
In addition, it needs to implement currentMousePosition so ScrollableArea and friends
can find the mouse position at arbitrary times.

I also took this opportunity to factor some coordinate space conversion functions out.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
(PDFPlugin):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
(WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
(WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
(WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
If the mouse is currently over the scroll corner, bail, because nobody should get those events.

Export a few WebCore::Scrollbar methods to WebKit(2).

  • WebCore.exp.in:
1:52 PM Changeset in webkit [135915] by mitz@apple.com
  • 10 edits in trunk/Source/WebKit2

Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358

Reviewed by Adele Peterson.

To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.

  • UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
1:50 PM Changeset in webkit [135914] by tsepez@chromium.org
  • 3 edits
    2 adds in trunk

Regression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspensionScope in Element::Attach().
https://bugs.webkit.org/show_bug.cgi?id=100803

Reviewed by Abhishek Arya.

Source/WebCore:

Ensures that the suspension scope has gone out of scope before calling into
resumePostAttachCallbacks().

Test: fast/dom/adopt-node-crash-2.html

  • dom/Element.cpp:

(WebCore::Element::attach):

LayoutTests:

  • fast/dom/adopt-node-crash-2-expected.txt: Added.
  • fast/dom/adopt-node-crash-2.html: Added.
1:39 PM Changeset in webkit [135913] by tony@chromium.org
  • 44 edits in trunk

Remove hidden limiter div in the input slider shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=102993

Reviewed by Ojan Vafai.

Source/WebCore:

The shadow DOM for input sliders would have a hidden div (the TrackLimiterElement)
the size of the thumb which would limit the position of thumb since the width of
the thumb takes up space in the track. This patch simplifies the shadow DOM by
removing this hidden div and computing the position of the thumb taking the size of
the thumb into account.

No new tests, covered by existing tests in fast/forms.

  • css/mediaControlsChromium.css:

(input[type="range"]::-webkit-media-slider-container > div): We were depending on the behavior of the limiter having negative margins, causing the slider div
to overflow. Moving the negative margin to the slider produces the same effect.

  • css/mediaControlsChromiumAndroid.css:

(input[type="range"]::-webkit-media-slider-container > div): Ditto.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createShadowSubtree): Remove limiter div.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::layout): Adjust the available space for the thumb and correctly position in the vertical case.
(WebCore::SliderThumbElement::setPositionFromPoint): Adjust the usable track size and simplify RTL code (no need to account for the limiter).
(WebCore): Delete limiter code.

  • html/shadow/SliderThumbElement.h:

(WebCore): Delete limiter code.

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout): Delete limiter code.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks): Simplify code for painting tick marks.

LayoutTests:

Pixel results should be the same, but the render tree for RenderSlider has one less div.

  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-linux/fast/multicol/client-rects-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-win/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-styling-strict-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
1:32 PM Changeset in webkit [135912] by zandobersek@gmail.com
  • 61 edits in trunk/Tools

Remove use of deprecated logging from webkitpy.common and webkitpy.layout_tests
https://bugs.webkit.org/show_bug.cgi?id=103408

Reviewed by Dirk Pranke.

Remove the use of the deprecated log and error methods by replacing them with
logging through Python's logging.Logger objects.

This patch covers such changes in webkitpy.common and webkitpy.layout_tests and also
updates any affected unit test.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLogEntry._parse_entry):

  • Scripts/webkitpy/common/checkout/checkout.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_apply_patch):

  • Scripts/webkitpy/common/checkout/deps_mock.py:

(MockDEPS.write_variable):

  • Scripts/webkitpy/common/checkout/scm/detection.py:

(SCMDetector.default_scm):

  • Scripts/webkitpy/common/checkout/scm/detection_unittest.py:

(SCMDetectorTest.test_detect_scm_system):

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git._check_git_architecture):
(Git._commit_on_branch):

  • Scripts/webkitpy/common/checkout/scm/scm.py:

(SCM.ensure_clean_working_directory):
(SCM.ensure_no_local_commits):
(SCM.will.commit_locally_with_message):

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.apply_reverse_diff):

  • Scripts/webkitpy/common/net/bugzilla/attachment.py:

(Attachment._validate_flag_value):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla._fetch_bug_page):
(Bugzilla.bug_id_for_attachment_id):
(Bugzilla.authenticate):
(Bugzilla._commit_queue_flag):
(Bugzilla.add_attachment_to_bug):
(Bugzilla.add_patch_to_bug):
(Bugzilla.create_bug):
(Bugzilla.clear_attachment_flags):
(Bugzilla.set_flag_on_attachment):
(Bugzilla.obsolete_attachment):
(Bugzilla.add_cc_to_bug):
(Bugzilla.post_comment_to_bug):
(Bugzilla.close_bug_as_fixed):
(Bugzilla.reassign_bug):
(reopen_bug):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzilla.create_bug):
(MockBugzilla.reassign_bug):
(MockBugzilla.set_flag_on_attachment):
(MockBugzilla.post_comment_to_bug):
(MockBugzilla.add_attachment_to_bug):
(MockBugzilla.add_patch_to_bug):
(MockBugzilla.reopen_bug):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:

(test_add_cc_to_bug):
(_assert_reopen):
(test_reopen_bug):

  • Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:

(MockBuilder.force_build):

  • Scripts/webkitpy/common/net/credentials.py:

(Credentials._run_security_tool):

  • Scripts/webkitpy/common/net/credentials_unittest.py:

(_assert_security_call):

  • Scripts/webkitpy/common/net/irc/irc_mock.py:

(MockIRC.post):
(MockIRC.disconnect):

  • Scripts/webkitpy/common/net/irc/ircproxy.py:

(IRCProxy.init):
(IRCProxy.disconnect):

  • Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:

(IRCProxyTest.test_trivial):

  • Scripts/webkitpy/common/net/layouttestresults.py:

(ORWTResultsHTMLParser._failures_from_fail_row):

  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:

(test_failures_from_fail_row):

  • Scripts/webkitpy/common/net/networktransaction.py:
  • Scripts/webkitpy/common/net/resultsjsonparser.py:

(JSONTestResult._tokenize):
(JSONTestResult._failure_types_from_actual_result):

  • Scripts/webkitpy/common/net/statusserver.py:

(StatusServer.update_status):
(StatusServer.update_svn_revision):

  • Scripts/webkitpy/common/net/statusserver_mock.py:

(MockStatusServer.release_work_item):
(MockStatusServer.update_work_items):
(MockStatusServer.submit_to_ews):
(MockStatusServer.update_status):

  • Scripts/webkitpy/common/net/unittestresults.py:

(UnitTestResults.results_from_string):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive.running_pids):
(MockExecutive.run_and_throw_if_fail):
(MockExecutive.run_command):
(MockExecutive.popen):

  • Scripts/webkitpy/common/system/user_mock.py:

(MockUser.confirm):
(MockUser.open_url):

  • Scripts/webkitpy/common/system/workspace_unittest.py:

(WorkspaceTest.test_create_zip):
(WorkspaceTest.test_create_zip_exception):

  • Scripts/webkitpy/common/watchlist/watchlist_mock.py:

(MockWatchList.determine_cc_and_messages):

  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

(ChromiumWinTest.test_setup_environ_for_server_register_cygwin):

  • Scripts/webkitpy/layout_tests/port/efl_unittest.py:

(EflPortTest.test_show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/gtk_unittest.py:

(GtkPortTest.test_show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/mac_unittest.py:

(test_show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/port_testcase.py:

(test_build_driver):

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:

(QtPortTest.test_show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/win_unittest.py:

(WinPortTest.test_show_results_html_file):

  • Scripts/webkitpy/layout_tests/port/xvfbdriver_unittest.py:

(XvfbDriverTest.assertDriverStartSuccessful):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_start_next_worker):
(XvfbDriverTest.test_stop):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:

(TestLayoutTestApacheHttpd.test_start_cmd):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(test_run_test_pause_before_testing):
(test_run_memory_test):
(_test_run_with_json_output):
(test_run_respects_no_results):
(test_run_generates_and_show_results_page):
(test_run_respects_no_show_results):

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

(FeedersTest.test_commit_queue_feeder):

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

(FlakyTestReporterTest.test_create_bug_for_flaky_test):
(test_report_flaky_tests_creating_bug):

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

(IRCCommandTest.test_rollout_updates_working_copy):

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

(IRCBotTest.test_exception_during_command):
(IRCBotTest.test_hi):
(IRCBotTest.test_help):
(IRCBotTest.test_restart):
(IRCBotTest.test_rollout):
(IRCBotTest.test_revert):
(IRCBotTest.test_roll_chromium_deps):
(IRCBotTest.test_roll_chromium_deps_to_lkgr):
(IRCBotTest.test_multi_rollout):
(IRCBotTest.test_rollout_with_r_in_svn_revision):
(IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
(IRCBotTest.test_rollout_bananas):
(IRCBotTest.test_rollout_invalidate_revision):
(IRCBotTest.test_rollout_invalidate_reason):
(test_multi_rollout_invalidate_reason):
(test_rollout_no_reason):
(test_multi_rollout_no_reason):

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

(SheriffTest.test_post_blame_comment_on_bug):

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

(ApplyWatchListLocalTest.test_args_parsing):
(test_args_parsing_with_bug):

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

(test_land_cowboy):
(test_check_style):
(test_create_rollout):
(test_create_rollout_resolved):
(test_rollout):

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

(AbstractEarlyWarningSystemTest.test_failing_tests_message):
(EarlyWarningSytemTest._default_expected_logs):
(EarlyWarningSytemTest._test_builder_ews):
(EarlyWarningSytemTest._test_testing_ews):

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

(OpenBugsTest.test_args_parsing):

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

(QueryCommandsTest.test_bugs_to_commit):
(QueryCommandsTest.test_patches_in_commit_queue):

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

(FeederQueueTest.test_feeder_queue):
(AbstractPatchQueueTest.test_next_patch):
(AbstractPatchQueueTest.test_upload_results_archive_for_patch):
(CommitQueueTest.test_commit_queue):
(test_commit_queue_failure):
(test_commit_queue_failure_with_failing_tests):
(test_rollout):
(test_rollout_lands):
(test_auto_retry):
(test_manual_reject_during_processing):
(test_report_flaky_tests):
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):

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

(QueuesTest._default_begin_work_queue_logs):

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

(RollCommandsTest.test_update_chromium_deps):

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

(UploadCommandsTest.test_assign_to_committer):
(test_post):
(test_attach_to_bug):
(test_attach_to_bug_no_description_or_comment):
(test_land_safely):
(test_prepare):
(test_upload):
(test_mark_bug_fixed):

  • Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:

(ApplyWatchListTest.test_apply_watch_list_local):

  • Scripts/webkitpy/tool/steps/commit_unittest.py:

(CommitTest._test_check_test_expectations):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:

(RunTestsTest.test_webkit_run_unit_tests):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:

(StepsTest._assert_step_output_with_bug):
(StepsTest._assert_post_diff_output_for_bug):
(StepsTest.test_post_diff):
(StepsTest.test_post_diff_for_commit):
(StepsTest.test_ensure_bug_is_open_and_assigned):
(StepsTest.test_runtests_args):

  • Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:

(SuggestReviewersTest.test_basic):

  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:

(ValidateChangeLogsTest._assert_start_line_produces_output):

1:22 PM Changeset in webkit [135911] by hclam@chromium.org
  • 17 edits
    2 adds in trunk/Source

[chromium] Implement full-featured image cache
https://bugs.webkit.org/show_bug.cgi?id=99784

Reviewed by Stephen White.

Source/WebCore:

Implement a thread-safe image cache to be used with deferred image
decoding. Image cache can now be accessed on any thread.

The patch implements the following logic:

  1. Mutex to protect all cache operations.
  2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
  3. Cache lookup.
  4. Cache insertion.
  5. Generation of cache entry by scaling full size image.
  6. Generation of cache entries by decoding and scaling.

Classes involved:

ImageDecodingStore

Responsible for owning cache entries and indexing. Pruning and memory
management will be added later.

ImageFrameGenerator

Responsible for generating new cache enties and insert them into
ImageDecodingStore.

LazyDecodingPixelRef

Responsible for cache lookup and lazy generation of cache entries
using ImageFrameGenerator. There is a mutex to protect concurrent
lock operations.

These items are not implemented in this patch:

  1. Cache pruning.
  2. Setting cache memory limit.
  3. Cache deletion.
  4. Caching incomplete images and ImageDecoder.

Unit tests added in ImageFrameGeneratorTest.cpp.
Layout tests are under platform/chromium/virtual/fast/images.

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
(WebCore::DeferredImageDecoder::setEnabled):
(WebCore):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::instance):
(WebCore::ImageDecodingStore::initializeOnce):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::lockCompleteCache):
Lookup complete cache entry using hash key, increment use count.
(WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
(WebCore::ImageDecodingStore::unlockCache):
Lookup cache entry using hash key, decrement use count.
(WebCore):
(WebCore::ImageDecodingStore::insertAndLockCache):
Insert new cache entry and increment use count.
(WebCore::ImageDecodingStore::prune): TODO.

  • platform/graphics/chromium/ImageDecodingStore.h:

(WebCore):
(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::create):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):
Method for creating new cache entries. This is protected by a mutex
to prevent concurrent operations. Which means only one thread can
generate new cache entries for a set of encoded data.
(WebCore):
(WebCore::ImageFrameGenerator::tryToLockCache):
Tries to lookup a cache entry.
(WebCore::ImageFrameGenerator::tryToScale):
Tries to lookup a full size cache entry and generate a scaled version.
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
Tries to decode and scale.

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore):
(ImageDecoderFactory):
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(WebCore):
(LazyDecodingPixelRef):

  • platform/graphics/chromium/ScaledImageFragment.cpp:

(WebCore::ScaledImageFragment::ScaledImageFragment):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore):
(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::scaledSize):

  • platform/graphics/chromium/SkSizeHash.h: Added.

(WTF):

Source/WebKit/chromium:

Added ImageFrameGeneratorTest to test cache logic and generation
of new cache entries.

ImageFrameGeneratorTest.cacheHit
Test that a complete cached entry is reused.

ImageFrameGeneratorTest.cacheMissWithScale
Cache miss for a scaled image but cache hit on a full size image.
Scaled image is created from cached full size image.

ImageFrameGeneratorTest.cacheMissWithDecodeAndScale
Cache miss for both scaled image and full size image.

ImageFrameGeneratorTest.cacheMissWithIncompleteDecode
Test the logic for handling incomplete cache objects.

  • WebKit.gypi:
  • src/WebKit.cpp:

(WebKit::initializeWithoutV8):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):
(WebCore::DeferredImageDecoderTest::frameBufferRequested):
(DeferredImageDecoderTest):
(WebCore::DeferredImageDecoderTest::frameStatus):

  • tests/ImageFrameGeneratorTest.cpp: Added.

(WebCore):
(WebCore::fullSize):
(WebCore::scaledSize):
(MockImageDecoderFactory):
(WebCore::MockImageDecoderFactory::create):
(WebCore::MockImageDecoderFactory::MockImageDecoderFactory):
(ImageFrameGeneratorTest):
(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::TearDown):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(WebCore::ImageFrameGeneratorTest::frameBufferRequested):
(WebCore::ImageFrameGeneratorTest::frameStatus):
(WebCore::ImageFrameGeneratorTest::createCompleteImage):
(WebCore::ImageFrameGeneratorTest::setFrameStatus):
(WebCore::TEST_F):

  • tests/MockImageDecoder.h:

(MockImageDecoderClient):
(WebCore::MockImageDecoder::frameBufferAtIndex):

1:22 PM Changeset in webkit [135910] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: fast/frames/frame-name-reset.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=103451

  • platform/chromium/TestExpectations:
1:14 PM Changeset in webkit [135909] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: platform/chromium/virtual/gpu/fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103449

  • platform/chromium/TestExpectations:
1:05 PM Changeset in webkit [135908] by mkwst@chromium.org
  • 3 edits in trunk/Source/WebCore

Expanding variable names in ConsoleMessage.
https://bugs.webkit.org/show_bug.cgi?id=103436

Reviewed by Adam Barth.

Variable names like 'm' should be replaced with full words, like
'myOhMyThisIsAnAwesomeVariable' (or something more descriptive).

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::ConsoleMessage):

  • inspector/ConsoleMessage.h:

(ConsoleMessage):

1:05 PM Changeset in webkit [135907] by Lucas Forschler
  • 5 edits in branches/safari-536.28-branch/Source/WebKit2

Merge patch for <rdar://problem/11755093>

1:00 PM Changeset in webkit [135906] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Use-after-free in media player handling
https://bugs.webkit.org/show_bug.cgi?id=103426

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-11-27
Reviewed by Eric Carlson.

Source/WebCore:

Fixed use-after-free bugs caused by the MediaSource not being closed before the HTMLMediaElement or the MediaPlayer
is destroyed. Closing the MediaSource causes it to clear its reference to the MediaPlayer which prevents
the use-after-free problems from happening.

Test: http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):

LayoutTests:

  • Added a test to verify that the MediaSource gets closed when the HTMLMediaElement is destroyed after it is removed from the DOM.
  • Updated video-media-source-state-changes-expected.txt to reflect a slight change in event dispatch ordering.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Added.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Added.
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt:
12:47 PM Changeset in webkit [135905] by Lucas Forschler
  • 8 edits in branches/safari-536.28-branch

Merged r133702. <rdar://problem/12679814>

12:45 PM Changeset in webkit [135904] by dgrogan@chromium.org
  • 24 edits in trunk

IndexedDB: Remove IDBDatabase.setVersion API
https://bugs.webkit.org/show_bug.cgi?id=94972

Reviewed by Tony Chang.

Source/WebCore:

This has been out of the spec for over a year. No other browser has
implemented it for close to a year.

Tests - removed.html

  • Modules/indexeddb/IDBCallbacks.h:

(IDBCallbacks):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::processPendingCalls):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBRequest.cpp:
  • Modules/indexeddb/IDBRequest.h:

Source/WebKit/chromium:

  • src/IDBCallbacksProxy.cpp:
  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

  • src/IDBDatabaseBackendProxy.cpp:
  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBCallbacksImpl.cpp:
  • src/WebIDBCallbacksImpl.h:

(WebIDBCallbacksImpl):

  • src/WebIDBDatabaseImpl.cpp:
  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

LayoutTests:

  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/resources/removed.js:

(test):

12:44 PM Changeset in webkit [135903] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

Log to console when autofocus is blocked by sandbox attribute.
https://bugs.webkit.org/show_bug.cgi?id=103255

Reviewed by Ojan Vafai.

Source/WebCore:

Adding a short log message when autofocus is blocked by a document's
sandbox flags, as it's currently a black box.

Test: fast/forms/autofocus-in-sandbox-without-allow-scripts.html

  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):

LayoutTests:

  • fast/forms/autofocus-in-sandbox-without-allow-scripts-expected.txt: Added.
  • fast/forms/autofocus-in-sandbox-without-allow-scripts.html: Added.
12:40 PM Changeset in webkit [135902] by Lucas Forschler
  • 19 edits in branches/safari-536.28-branch

Merged r133371. <rdar://problem/12632316>

12:40 PM Changeset in webkit [135901] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: ImageOnlyFailure in fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103447

  • platform/chromium/TestExpectations:
12:32 PM Changeset in webkit [135900] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] http:// origins can navigate to privileged local:// origins
https://bugs.webkit.org/show_bug.cgi?id=103437

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Yong Li.

PR: 251489
When we aren't allowed to display the destination origin, we shouldn't
even create the window for it. In this way we can block the remote
origins(like http://) window.open local origins(like file:// and
local://) and avoid further security issues.
Chrome and Safari will open a blank window and fail to load. Firefox
will fail to open the window and report a load failure error which has
the same behavior as us. I would prefer this way as the window would
be useless and the calls after that would be harmful to us.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::createWindow):

12:27 PM Changeset in webkit [135899] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add bug numbers to flaky tests.

  • platform/efl/TestExpectations:
12:27 PM Changeset in webkit [135898] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocusTextElementVisible
https://bugs.webkit.org/show_bug.cgi?id=103441

Patch by Andrew Lo <anlo@rim.com> on 2012-11-27
Reviewed by Rob Buis.
Internally reviewed by Mike Fenton.

Remove unnecessary backing store suspension in
InputHandler::ensureFocusTextElementVisible.

Not necessary anymore since both zoom and scroll adjustments
happen in an animation.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

12:21 PM Changeset in webkit [135897] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Gardening: Updated TestExpecations for failure in
http/tests/canvas/canvas-slow-font-loading.html
https://bugs.webkit.org/show_bug.cgi?id=103446

  • platform/chromium/TestExpectations:
12:09 PM Changeset in webkit [135896] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Attempted build fix after http://trac.webkit.org/changeset/135888.

  • WebCore.exp.in:
  • WebCore.order:
12:00 PM Changeset in webkit [135895] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r135890. #else, not #elif.

  • platform/graphics/ca/PlatformCALayer.h:

(PlatformCALayer):

11:59 AM Changeset in webkit [135894] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch/Source

Merged 133338 for <rdar://problem/12632316>

11:58 AM Changeset in webkit [135893] by rniwa@webkit.org
  • 21 edits in trunk/Source/WebCore

HTMLCollection on Document should be stored on NodeListsNodeData like other HTMLCollections and LiveNodeLists
https://bugs.webkit.org/show_bug.cgi?id=103364

Reviewed by Anders Carlsson.

Replaced the HTMLCollection storage in Document by NodeListsNodeData used by other HTMLCollection's
and LiveNodeList's. Now NodeListsNodeData is the only storage for HTMLCollection and LiveNodeList.

  • dom/Document.cpp:

(WebCore::Document::Document): Removed code for m_collection since it has been removed.
(WebCore::Document::~Document): Ditto.
(WebCore::Document::registerNodeList): Renamed.
(WebCore::Document::unregisterNodeList): Ditto.
(WebCore::Document::ensureCachedCollection): Renamed from cachedCollection to match the convetion
used elsewhere. Also use NodeListNodeData::addCacheWithAtomicName now that m_collection is gone.
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
(WebCore::Document::all):
(WebCore::Document::windowNamedItems): Use addCacheWithAtomicName.
(WebCore::Document::documentNamedItems): Ditto.
(WebCore::Document::reportMemoryUsage): Removed code for m_collection since it has been removed.

  • dom/Document.h:

(WebCore::Document): Removed m_collections, m_documentNamedItemCollections, and
m_windowNamedItemCollections.

  • dom/Element.cpp:

(WebCore::Element::ensureCachedHTMLCollection): Merged ElementRareData::ensureCachedHTMLCollection.
(WebCore::Element::cachedHTMLCollection): Merged ElementRareData::cachedHTMLCollection.

  • Source/WebCore/dom/ElementRareData.h: Removed ensureCachedHTMLCollection, cachedHTMLCollection,

and removeCachedHTMLCollection since they're no longer used.

  • dom/LiveNodeList.h:

(WebCore::LiveNodeListBase::LiveNodeListBase): Call registerNodeList now that LiveNodeList
and HTMLCollection share the same storage in all nodes.
(WebCore::LiveNodeListBase::~LiveNodeListBase): Ditto about unregisterNodeList.
(WebCore::LiveNodeList): Removed the calls to registerNodeList and unregisterNodeList since they
are now called in the base class.

  • dom/NameNodeList.h:

(WebCore::NameNodeList::create):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCacheWithAtomicName): Pass in CollectionType as the second argument
to T::create. This is used in HTMLNameCollection::create. Sevearl LiveNodeList constructors and
create functions have been modified to support this.
(WebCore::NodeListsNodeData::adoptTreeScope):
(WebCore::NodeListsNodeData::namedNodeListKey): CollectionType is no longer restricted in its range.

  • dom/TagNodeList.h:

(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):

  • html/CollectionType.h: Deleted a bunch of unused inline functions and constants, and cleanup enum.
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection): Removed the call to registerNodeListCache since it's called
in LiveNodeListBase now.
(WebCore::HTMLCollection::~HTMLCollection): Ditto. Also replaced calls to removeCachedHTMLCollection
of Element and Document by a call to NodeListsNodeData::removeCacheWithAtomicName.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):

  • html/HTMLFormControlsCollection.h:

(HTMLFormControlsCollection):

  • html/HTMLNameCollection.cpp:

(WebCore::HTMLNameCollection::HTMLNameCollection):
(WebCore::HTMLNameCollection::~HTMLNameCollection):

  • html/HTMLNameCollection.h:

(WebCore::HTMLNameCollection::create):
(HTMLNameCollection):

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
(WebCore::HTMLOptionsCollection::create):

  • html/HTMLOptionsCollection.h:

(HTMLOptionsCollection):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
(WebCore::HTMLTableRowsCollection::create):

  • html/HTMLTableRowsCollection.h:

(HTMLTableRowsCollection):

  • html/LabelsNodeList.h:

(WebCore::LabelsNodeList::create):

  • html/RadioNodeList.h:

(WebCore::RadioNodeList::create):

11:56 AM Changeset in webkit [135892] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip some flaky video tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=103442

  • platform/win/TestExpectations:
11:52 AM Changeset in webkit [135891] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

max-height property not respected in case of tables
https://bugs.webkit.org/show_bug.cgi?id=98633

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-27
Reviewed by Julien Chaffraix.

Source/WebCore:

The max-height property determines the maximum computed height an element can have. In case of tables
the computed height was not being limited by the max-height property. The current patch fixes the same.

Test: fast/table/css-table-max-height.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):

Helper function to compute height from the given style height.
This function handles style height of type fixed, percent and viewport percent.
As height of type 'calculated' gets internally resolved to either fixed or percent
there is no special handling required for the same.

(WebCore):
(WebCore::RenderTable::layout):

Logic to compute the logical height of an element such that it does not exceed the max-height value given that
min-width < Content height < max-height, when min-height < max-height.
However max-height value is not respected if either min-height > max-height or Content height > max-height.

  • rendering/RenderTable.h:

(RenderTable):

Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().

LayoutTests:

  • fast/table/css-table-max-height-expected.txt: Added.
  • fast/table/css-table-max-height.html: Added.
11:34 AM Changeset in webkit [135890] by roger_fong@apple.com
  • 4 edits
    2 adds in trunk

Windows specific implementation of usesTileCacheLayer needed after r133056.
https://bugs.webkit.org/show_bug.cgi?id=103321

Reviewed by Simon Fraser.

After r133056 it no longer suffices to use the existing usesTileCacheLayer method on Windows.
The change resulted in 3 crashing tests:
compositing/rotated-tiled-clamped
compositing/rotated-tiled-preserve3d-clamped
fast/events/tabindex-focus-blur-all

  • platform/win/TestExpectations:

Remove the tests below from the Windows skip list.

  • platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
  • platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.

Add Windows specific results for tests added in r133056.

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::usesTileCacheLayer):
(PlatformCALayer):
Adding in platform specific method for Windows that returns false for this method.

11:31 AM Changeset in webkit [135889] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=103434

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-27

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/js/global-constructors-expected.txt:
11:25 AM Changeset in webkit [135888] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Canvas does not draw any text if the font is not fully loaded yet
https://bugs.webkit.org/show_bug.cgi?id=103392

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Update CanvasRenderingContext2D::drawTextInternal() so that the
text is being drawn, even if custom fonts are still being loaded.
Without this, WebKit was not drawing any text on the canvas if
the needed font is custom and is not fully loaded yet. This seems
broken.

The new behavior is according to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html

The specification says: "If a font is used before it is fully
loaded, or if the font style source object does not have that
font in scope at the time the font is to be used, then it must be
treated as if it was an unknown font, falling back to another as
described by the relevant CSS specifications."

Test: http/tests/canvas/canvas-slow-font-loading.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • platform/graphics/Font.cpp:

(WebCore::Font::drawText): Add argument to specify the behavior
when custom fonts are not ready. By default, it will not draw
anything (same behavior as before). However, the Canvas code
can now request that a fallback font is used if the custom
font is not fully loaded yet.

  • platform/graphics/Font.h: #undef Complex if defined to avoid

conflicting with Complex value in CodePath enum. X11/X.h is
defining Complex to 0.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawBidiText):

  • platform/graphics/GraphicsContext.h:

(WebCore):
(GraphicsContext):

LayoutTests:

Add canvas test to check that text is drawn using a fallback font
if the primary font is not fully loaded yet.

  • http/tests/canvas/canvas-slow-font-loading-expected.html: Added.
  • http/tests/canvas/canvas-slow-font-loading.html: Added.
11:23 AM Changeset in webkit [135887] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/loader/submit-form-while-parsing-2.html is still flaky
so put it back in TestExpectations.

  • platform/efl/TestExpectations:
11:19 AM Changeset in webkit [135886] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

No need for ExceptionCode in HTMLMediaElement::load
https://bugs.webkit.org/show_bug.cgi?id=103438

Reviewed by Eric Carlson.

After https://bugs.webkit.org/show_bug.cgi?id=103318, there is no
need for the ExceptionCode parameter in load(). The HTML5 spec says
that all errors in loading are communicated via state.
http://dev.w3.org/html5/spec/media-elements.html#dom-media-load

Of the 29 tests exercising load(), none of them were exercising
exceptions (obviously).

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::resume):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:
11:16 AM Changeset in webkit [135885] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test transitions/transition-shorthand-delay.html should usePauseAPI
https://bugs.webkit.org/show_bug.cgi?id=103402

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-27
Reviewed by Simon Fraser.

PauseAPI works when pausing during delay in transitions now, using it
should fix the flakiness.

  • platform/efl/TestExpectations:
  • transitions/transition-shorthand-delay.html:
11:15 AM Changeset in webkit [135884] by robert@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r125578): word-wrapping in absolute position with nbsp, word-spacing and custom font
https://bugs.webkit.org/show_bug.cgi?id=101443

Reviewed by David Hyatt.

Source/WebCore:

Leading non-breaking space in a text run should always get word-spacing applied. When RenderText
calculates the preferred with of a run of text it breaks it up into word segments that contain
no breaking spaces and calculates the width of each. So when calculating the width of '&nbsp;b'
it needs to add word-spacing to the leading non-breaking space as it does not get collapsed away.

Test: fast/text/word-space-nbsp.html

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

LayoutTests:

  • fast/text/word-space-nbsp-expected.html: Added.
  • fast/text/word-space-nbsp.html: Added.
11:08 AM Changeset in webkit [135883] by yoli@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] EventLoop should end when WebKit thread is exiting
https://bugs.webkit.org/show_bug.cgi?id=103301

Reviewed by Rob Buis.
RIM PR# 194379.
Internally reviewed by Joe Mason.

Break the nested event loop when WebKit thread has been asked to quit.

  • platform/blackberry/EventLoopBlackBerry.cpp:

(WebCore::EventLoop::cycle):

10:58 AM Changeset in webkit [135882] by psolanki@apple.com
  • 33 edits in trunk

objc/objc-runtime.h does not exist on all PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=101780

Reviewed by Brent Fulgham.

Clean up header includes so we don't include objc/objc-runtime.h.

Source/WebCore:

No new tests because no functional changes.

  • bridge/objc/objc_header.h:
  • page/mac/EventHandlerMac.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/WebLayer.mm:
  • platform/mac/WebCoreObjCExtras.mm:
  • platform/mac/WebVideoFullscreenController.mm:

Source/WebKit/mac:

  • Carbon/HIWebView.mm:

(UpdateCommandStatus): Use wtfObjcMsgSend template instead of objc_msgSend.

  • Plugins/WebNetscapePluginView.mm:
  • Plugins/WebPluginContainerCheck.mm:

(-[WebPluginContainerCheck _continueWithPolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.

  • Plugins/WebPluginController.mm:
  • WebCoreSupport/WebCachedFramePlatformData.h:
  • WebCoreSupport/WebDeviceOrientationClient.mm:
  • WebView/WebDelegateImplementationCaching.mm:
  • WebView/WebHTMLView.mm:
  • WebView/WebPDFDocumentExtras.mm:
  • WebView/WebPolicyDelegate.mm:

(-[WebPolicyDecisionListener _usePolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.

  • WebView/WebView.mm:

Source/WebKit2:

  • PluginProcess/mac/PluginProcessShim.mm:
  • UIProcess/API/mac/PDFViewController.mm:

Source/WTF:

  • wtf/Functional.h:
  • wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering

of includes in files that include this header.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/ObjCPlugin.m:
  • TestWebKitAPI/mac/InstanceMethodSwizzler.h:
  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
10:52 AM Changeset in webkit [135881] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.
https://bugs.webkit.org/show_bug.cgi?id=102452

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by Pavel Feldman.

This change makes the showPaintRects setting in the Web Inspector's settings notify InspectorClient
when changed. And the default paint rects drawing is not used if an alternative is available.
This allows Chromium to draw the paint rects in the compositor's HUDLayer.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):
(WebKit::WebLayerTreeView::setShowPaintRects):

Source/WebCore:

No new tests.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::overridesShowPaintRects):
(WebCore::InspectorClient::setShowPaintRects):
(InspectorClient):

  • inspector/InspectorPageAgent.cpp:

(PageAgentState):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/chromium:

  • public/WebView.h:

(WebView):

  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::overridesShowPaintRects):
(WebKit):
(WebKit::InspectorClientImpl::setShowPaintRects):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setShowPaintRects):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

10:45 AM Changeset in webkit [135880] by tony@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed gardening, fixing lint errors in TestExpectations.

  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
10:36 AM Changeset in webkit [135879] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
https://bugs.webkit.org/show_bug.cgi?id=103433
<rdar://problem/12543513>

Reviewed by Jessie Berlin.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect assertion, and modified code to not rely on its condition being true.
10:36 AM Changeset in webkit [135878] by Lucas Forschler
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

Merge 134495 & 134666 for <rdar://problem/12696290> & <rdar://problem/12704510>

10:32 AM Changeset in webkit [135877] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Unreviewed build fix on Linux clang.

../../third_party/WebKit/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp:1055:63: error:
C++98 requires an accessible copy constructor for class 'WebKit::WebCachedURLRequest' when binding
a reference to a temporary; was private [-Werror,-Wbind-to-temporary-copy]

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchWillRequestResource):

10:30 AM Changeset in webkit [135876] by allan.jensen@digia.com
  • 1 edit
    1 delete in trunk/Source/WebCore

Unreviewed cleanup.

Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.

  • platform/qt/ScreenQt.cpp: Removed.
10:16 AM Changeset in webkit [135875] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Remove from TestExpectations tests that are passing.

  • platform/efl/TestExpectations:
10:14 AM Changeset in webkit [135874] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
https://bugs.webkit.org/show_bug.cgi?id=103356

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

Before introducing per context data, it used to be the case that we would ignore removing v8 object
from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
instead and we had crash reports.
Related crbug.com/154462.

Source/WebCore:

Test: platform/chromium/plugins/release-frame-content-window.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):

LayoutTests:

  • platform/chromium/plugins/release-frame-content-window-expected.txt: Added.
  • platform/chromium/plugins/release-frame-content-window.html: Added.
  • platform/chromium/plugins/resources/empty.html: Added.
  • platform/chromium/plugins/resources/empty2.html: Added.
10:11 AM Changeset in webkit [135873] by junov@google.com
  • 2 edits in trunk/LayoutTests

Skipping fast/backgrounds/background-opaque-images-over-color.html on mac
https://bugs.webkit.org/show_bug.cgi?id=103435

Unreviewed

  • platform/mac/TestExpectations:
10:00 AM Changeset in webkit [135872] by commit-queue@webkit.org
  • 15 edits
    4 adds in trunk

Add callbacks to the FrameLoaderClient when a resource is requested
https://bugs.webkit.org/show_bug.cgi?id=92761

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

In Chromium, when an extension script cancels a network
request (which happens out of process), we'd like to
notify content scripts running on the current page about
which elements failed to load because the requests were
cancelled (as opposed to e.g. the network request just
didn't work). Since the resource request itself does not
carry any information what DOM element is was made for,
currently a content script has to search the DOM tree and
guess which requests will be cancelled by its counter
part. By adding these callbacks, the embedder can make
this connection explictly.

Source/WebCore:

Test: platform/chromium/fast/loader/resource-request-callbacks.html

  • loader/FrameLoaderClient.h:

(WebCore):
(WebCore::FrameLoaderClient::dispatchWillRequestResource):
(FrameLoaderClient):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebCachedURLRequest.h: Added.

(WebKit):
(WebCachedURLRequest):
(WebKit::WebCachedURLRequest::~WebCachedURLRequest):

  • public/WebFrameClient.h:

(WebKit):
(WebFrameClient):
(WebKit::WebFrameClient::willRequestResource):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchWillRequestResource):
(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

  • src/WebCachedURLRequest.cpp: Added.

(WebKit):
(WebKit::WebCachedURLRequest::reset):
(WebKit::WebCachedURLRequest::urlRequest):
(WebKit::WebCachedURLRequest::charset):
(WebKit::WebCachedURLRequest::forPreload):
(WebKit::WebCachedURLRequest::initiatorName):
(WebKit::WebCachedURLRequest::initiatorElement):
(WebKit::WebCachedURLRequest::WebCachedURLRequest):

Tools:

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::dumpResourceRequestCallbacks):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):
(DRTTestRunner::setShouldDumpResourceRequestCallbacks):
(DRTTestRunner::shouldDumpResourceRequestCallbacks):

  • DumpRenderTree/chromium/TestShell.h:

(TestShell::shouldDumpResourceRequestCallbacks):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::willRequestResource):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

LayoutTests:

  • platform/chromium/fast/loader/resource-request-callbacks-expected.txt: Added.
  • platform/chromium/fast/loader/resource-request-callbacks.html: Added.
9:59 AM Changeset in webkit [135871] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Fix world-reuse test for mac build
https://bugs.webkit.org/show_bug.cgi?id=103385

Patch by Dan Carney <dcarney@google.com> on 2012-11-27
Reviewed by Jochen Eisinger.

Mac and chrome builds have different expectations for where
an isolated world is executed.

  • http/tests/security/isolatedWorld/world-reuse.html:
9:57 AM Changeset in webkit [135870] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: updated TestExpectations for crashes in
media/video-duration-known-after-eos.html
https://bugs.webkit.org/show_bug.cgi?id=103183

  • platform/chromium/TestExpectations:
9:53 AM Changeset in webkit [135869] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for r135866.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):

9:45 AM Changeset in webkit [135868] by dgrogan@chromium.org
  • 2 edits in trunk/LayoutTests

IndexedDB: Make test resilient to different event ordering
https://bugs.webkit.org/show_bug.cgi?id=103344

Reviewed by Tony Chang.

This test was failing in multi-process chromium because the blocked
event can arrive before the versionchange event.

  • storage/indexeddb/pending-version-change-on-exit.html:
9:40 AM Changeset in webkit [135867] by leoyang@rim.com
  • 5 edits in trunk/Source/WebCore

[BlackBerry] Adapt to the change of BlackBerry::Platform::FilterStream::notifyHeadersReceived
https://bugs.webkit.org/show_bug.cgi?id=103425

Reviewed by Yong Li.

A const has been added for HeaderList parameter of BlackBerry::Platform::FilterStream::notifyHeadersReceived.
The patch is adapting to this change.

No functionalities changed no new tests.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyHeadersReceived):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

  • platform/network/blackberry/rss/RSSFilterStream.cpp:

(WebCore::RSSFilterStream::notifyHeadersReceived):

  • platform/network/blackberry/rss/RSSFilterStream.h:
9:39 AM Changeset in webkit [135866] by commit-queue@webkit.org
  • 5 edits in trunk

Don't throw an exception if user gesture is required for load
https://bugs.webkit.org/show_bug.cgi?id=103318

Patch by Min Qin <qinmin@chromium.org> on 2012-11-27
Reviewed by Eric Carlson.

Source/WebCore:

There is no need to throw an exception if media load requires user gesture.
Since chrome does not render the poster and media control after an exception is thrown, throwing an exception may break a lot of sites on android.
Change a current test to match the new behavior: media/video-load-require-user-gesture.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):

LayoutTests:

Check that exception is not thrown and metadata is not loaded if media load requires user gesture.

  • media/video-load-require-user-gesture-expected.txt:
  • media/video-load-require-user-gesture.html:
9:11 AM Changeset in webkit [135865] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test to paint the bots green.

  • platform/qt/TestExpectations:
9:02 AM Changeset in webkit [135864] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][Qt][WK2] Tiles not always painted
https://bugs.webkit.org/show_bug.cgi?id=103271

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

The problem turned up because visible content was synchromized before the new fixed
layout size had been applied in the web process.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeViewportAttributes):

7:58 AM Changeset in webkit [135863] by commit-queue@webkit.org
  • 5 edits in trunk

[GStreamer] Verify if GStreamer was previously initialized
https://bugs.webkit.org/show_bug.cgi?id=103151

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2012-11-27
Reviewed by Philippe Normand.

Source/WebCore:

This patch calls gst_is_initialized() before calling gst_init_check()
in order to verify if GStreamer has not been initialized before.

This is useful particularly for WebKit1 so the applications could
initialize GStreamer before.

As the API call was added in GStreamer v0.10.31, the patch fences the
call only in that version of GStreamer or above.

No new tests, existing media tests cover this change.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

Tools:

This patch adds the gst_init() in GtkLauncher, so we can add the
GStreamer options in the command line through
gst_init_get_option_group().

This approach is not valid for MiniBrowser because it uses WebKit2,
where the GStreamer backend lives in the web process, which is
different from the UI process.

  • GNUmakefile.am:
  • GtkLauncher/main.c:

(main):

7:50 AM Changeset in webkit [135862] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove V8StringResource::m_string
https://bugs.webkit.org/show_bug.cgi?id=103367

Reviewed by Adam Barth.

This patch cleans up V8StringResource and removes V8StringResource::m_string.
This patch won't change performance. (This patch just adds one redundant IsString()
check and one IsInt32() check.) I confirmed no performance regression in micro benchmarks
(https://bugs.webkit.org/attachment.cgi?id=176178).

No tests. No change in behavior.

  • bindings/v8/V8Binding.cpp:

(WebCore::v8NonStringValueToWebCoreString):

  • bindings/v8/V8StringResource.cpp:

(WebCore::int32ToWebCoreStringFast):
(WebCore::String):
(WebCore::AtomicString):
(WebCore):

  • bindings/v8/V8StringResource.h:

(WebCore::V8StringResource::V8StringResource):
(WebCore::V8StringResource::prepareBase):
(WebCore::V8StringResource::toString):
(V8StringResource):
(WebCore::::prepare):

7:45 AM Changeset in webkit [135861] by junov@google.com
  • 2 edits in trunk/LayoutTests

Correcting baseline for fast/backgrounds/background-opaque-images-over-color.html
https://bugs.webkit.org/show_bug.cgi?id=103275

Unreviewed

Fixing small error in ref test baseline.

  • fast/backgrounds/background-opaque-images-over-color-expected.html:
7:06 AM Changeset in webkit [135860] by keishi@webkit.org
  • 4 edits in trunk/Source

Add WebLocalizedString for validation type badinput
https://bugs.webkit.org/show_bug.cgi?id=103381

Reviewed by Kent Tamura.

Source/Platform:

Adding WebLocalizedString enums for validation type badinput text.

  • chromium/public/WebLocalizedString.h:

Source/WebKit/chromium:

  • src/LocalizedStrings.cpp:

(WebCore::validationMessageBadInputForNumberText): Using the newly added WebLocalizedString enum.
(WebCore::validationMessageBadInputForDateTimeText): Ditto.

6:56 AM Changeset in webkit [135859] by junov@google.com
  • 2 edits
    1 add
    3 deletes in trunk/LayoutTests

Convert test fast/backgrounds/background-opaque-images-over-color.html to a ref test
https://bugs.webkit.org/show_bug.cgi?id=103275

Reviewed by Simon Fraser

Removing existing baselines, and adding an -expecte.html to make
fast/backgrounds/background-opaque-images-over-color.html a ref test

  • fast/backgrounds/background-opaque-images-over-color-expected.html: Added.
  • fast/backgrounds/background-opaque-images-over-color-expected.txt: Removed.
  • fast/backgrounds/background-opaque-images-over-color.html:
  • platform/chromium-mac/fast/backgrounds/background-opaque-images-over-color-expected.png: Removed.
  • platform/chromium-win/fast/backgrounds/background-opaque-images-over-color-expected.png: Removed.
6:42 AM Changeset in webkit [135858] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Graphics layer edges are sometimes very pixelated
https://bugs.webkit.org/show_bug.cgi?id=103302

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
http://trac.webkit.org/changeset/135401.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::paintToCurrentGLContext):

6:11 AM Changeset in webkit [135857] by abecsi@webkit.org
  • 4 edits in trunk/Tools

[Qt] Fix the build with new Qt5 hash
https://bugs.webkit.org/show_bug.cgi?id=103406

Reviewed by Csaba Osztrogonác.

Remove references to deprecated QApplication::GuiServer which
has been removed, and use QStyleFactory::create instead of
instantiating a QWindowsStyle directly since it is about to
become an internal class.

  • DumpRenderTree/qt/DumpRenderTreeMain.cpp:

(main):

  • QtTestBrowser/qttestbrowser.cpp:

(LauncherApplication::LauncherApplication):

  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:

(WTR::InjectedBundle::platformInitialize):

6:10 AM Changeset in webkit [135856] by alecflett@chromium.org
  • 14 edits in trunk/Source

IndexedDB: stub out IDBDatabaseBackendInterface::createTransaction
https://bugs.webkit.org/show_bug.cgi?id=102730

Reviewed by Darin Fisher.

Source/WebCore:

Stub out and support passing a 64-bit transaction id
so the frontend can refer to transactions by id rather than
a proxy object or a direct pointer reference. This will ultimately
loosen ownership and lifetime of transactions from the frontend
and backend.

No new tests, this is just part of a refactor.

  • Modules/indexeddb/IDBDatabase.cpp:
  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::createTransaction):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::id):

Source/WebKit/chromium:

Add support for new createTransaction() method in both sides
of the WebKit API.

  • public/WebIDBDatabase.h:

(WebIDBDatabase):
(WebKit::WebIDBDatabase::createTransaction):

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit):
(WebKit::IDBDatabaseBackendProxy::createTransaction):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::createTransaction):
(WebKit):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

5:56 AM Changeset in webkit [135855] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Mark tests flaky
https://bugs.webkit.org/show_bug.cgi?id=103403

Unreviewed expectations update for EFL: Mark tests flaky based on
flakiness dashboard and testing. Also rearrange efl/TestExpectations
so all media flakes are next to each other.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-27

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:52 AM Changeset in webkit [135854] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Unreviewed, rolling out r135828.
http://trac.webkit.org/changeset/135828
https://bugs.webkit.org/show_bug.cgi?id=103405

[Chromium] Multiple ASAN errors after a WebKit roll due to
mismatched malloc/delete (not free) resulting from
StringImpl::deref() (Requested by apavlov on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-27

  • wtf/FastAllocBase.h:
  • wtf/Platform.h:
5:49 AM Changeset in webkit [135853] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Regions] Crash when dispatching regionlayoutupdate
https://bugs.webkit.org/show_bug.cgi?id=102944

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-27
Reviewed by Andreas Kling.

Source/WebCore:

The event dispatch function was incorrectly assuming the RenderNamedFlowThread is valid. Because the event is asynchronous it's
possible for the flow to be in the "NULL" state (the renderer is 0) while the regionlayoutupdate event is dispatched.

Test: fast/regions/webkit-named-flow-event-crash.html

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Remove the ASSERT and don't dispatch the event if the flow is

in the "NULL" state.

LayoutTests:

The test modifies the layout, forces a regionlayoutupdate event to be scheduled and then removes the content and the regions.
The event is dispatched on a named flow in the "NULL" state. Without this patch a crash occurs.

  • fast/regions/webkit-named-flow-event-crash-expected.txt: Added.
  • fast/regions/webkit-named-flow-event-crash.html: Added.
5:27 AM Changeset in webkit [135852] by allan.jensen@digia.com
  • 5 edits in trunk/LayoutTests

Reduce XHR timeout tests execution time
https://bugs.webkit.org/show_bug.cgi?id=102184

Reviewed by Csaba Osztrogonác.

Reduce all timeouts by five.

  • http/tests/resources/load-and-stall.cgi:
  • http/tests/resources/load-and-stall.php:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js:

(RequestTracker.prototype.startXHR):
(RequestTracker.prototype.handleEvent):
(AbortedRequest.prototype.getMessage):
(AbortedRequest.prototype.handleEvent):
(SyncRequestSettingTimeoutAfterOpen.startXHR):
(SyncRequestSettingTimeoutBeforeOpen.startXHR):
(TestCounter.testComplete):

5:23 AM Changeset in webkit [135851] by mihnea@adobe.com
  • 9 edits
    4 adds in trunk

[CSS Regions] Absolutely positioned regions do not expand to fill their container
https://bugs.webkit.org/show_bug.cgi?id=102385

Reviewed by Julien Chaffraix.

Source/WebCore:

In the case of an absolutely positioned region with height auto, height computation should follow
the path of block elements instead of replaced elements.

Tests: fast/regions/autosize-abspos-anchoredregion-vertlr.html

fast/regions/autosize-abspos-anchoredregion.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePositionedLogicalHeight): Skip replaced element height computation when a region has height auto.

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::shouldHaveAutoLogicalHeight): Make it private since it is not accessed from outside.

LayoutTests:

Added new tests for the case of an absolutely positioned region inside a container. The region is anchored and it should expand to the container limits
in the anchored direction.
Also modified expectations for another test that has absolutely positioned auto-height regions, which now have height computed properly.

  • fast/regions/autosize-abspos-anchoredregion-expected.txt: Added.
  • fast/regions/autosize-abspos-anchoredregion-vertlr-expected.txt: Added.
  • fast/regions/autosize-abspos-anchoredregion-vertlr.html: Added.
  • fast/regions/autosize-abspos-anchoredregion.html: Added.
  • platform/chromium/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/efl/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/gtk/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/mac/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/qt/fast/regions/autoheight-regions-mark-expected.txt:
5:20 AM Changeset in webkit [135850] by kadam@inf.u-szeged.hu
  • 2 edits
    3 adds in trunk/LayoutTests

[Qt] Gardening after r135723, r135740 and r135789. Skipped 3 tests and added rebaseline to a test.

Patch by János Badics <János Badics> on 2012-11-27
Reviewed by Csaba Osztrogonác.

r135723: Added Qt baseline to http/tests/inspector/network/script-as-text-loading-with-caret.html
r135740: Skipped fast/frames/page-visibility-crash.html because Page Visibility API is disabled.
r135789: Skipped fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html because gestureLongTap is not supported on Qt, and

fast/events/touch/gesture/context-menu-on-long-tap.html because Drag and Drop support is disabled on Qt.

  • platform/qt/TestExpectations:
  • platform/qt/http/tests/inspector/network/script-as-text-loading-with-caret-expected.txt: Added.
5:19 AM Changeset in webkit [135849] by kov@webkit.org
  • 9 edits in releases/WebKitGTK/webkit-1.10

Merge 135538 - [GTK] Split SVG from WebCore to work-around make limitation
https://bugs.webkit.org/show_bug.cgi?id=97735

Reviewed by Carlos Garcia Campos.

Add a new libtool convenience library, libWebCoreSVG.la, to work-around
make limitation when linking libWebCore.

.:

  • GNUmakefile.am: variables for the new library.

Source/WebCore:

  • GNUmakefile.am: new libWebCoreSVG.la library.
  • GNUmakefile.list.am: move SVG-related files to be part of the new library.

Source/WebKit/gtk:

  • GNUmakefile.am: link libWebCoreSVG.la into libwebkitgtk.

Source/WebKit2:

  • GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.

Conflicts:

Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am

4:39 AM Changeset in webkit [135848] by apavlov@chromium.org
  • 10 edits
    2 adds in trunk

Incorrect value of CSSStyleDeclaration#length when a shorthand property is inherit or initial
https://bugs.webkit.org/show_bug.cgi?id=73002

Reviewed by Alexis Menard.

Source/WebCore:

Before the patch, "inherit" and "initial" shorthands would get added to the StylePropertySet as-is, their longhands unspecified.
This patch tackles two aspects of the problem:

  • When parsing "initial" and "inherit" shorthands, their longhands are added to the property set with the corresponding values.
  • When querying "initial" and "inherit" shorthands, their values are reconstructed from the longhands as usual, but if all of the longhands are found to have the same explicit "initial" or "inherit" value, the respective single value is returned as the shorthand value.

When reconstructing shorthands, a "common value" is tracked. If all longhands involved have the same explicit value, it becomes the
"common value", otherwise it is a String(). The "inherit" or "initial" common value ultimately becomes the shorthand value
(except for the "background-position" shorthand, which is a special case).

  • css/CSSParser.cpp:

(WebCore::parseKeywordValue): Parse shorthands' "initial" and "inherit" values using the CSSParser.
(WebCore::CSSParser::addExpandedPropertyForValue): Add simple property or all sharthand's longhands with given value and priority.
(WebCore::CSSParser::parseValue): For "initial" and "inherit" shorthands, add their longhands with the respective value, not the shorthands proper.

  • css/CSSParser.h: Add addExpandedPropertyForValue().
  • css/StylePropertySet.cpp:

(WebCore::isInitialOrInherit): Check if the value is "initial" or "inherit".
(WebCore):
(WebCore::StylePropertySet::appendFontLonghandValueIfExplicit): Modified to track the common value for the "font" shorthand.
(WebCore::StylePropertySet::fontValue): Ditto.
(WebCore::StylePropertySet::get4Values): Return "inherit" or "initial" if all 4 values are explicitly "inherit" or "initial".
(WebCore::StylePropertySet::getLayeredShorthandValue): Use the common value approach for layered shorthands.
(WebCore::StylePropertySet::getShorthandValue): Ditto for ordinary shorthands.
(WebCore::StylePropertySet::borderPropertyValue): Ditto for the "border" shorthand.

  • css/StylePropertySet.h: Modify the appendFontLonghandValueIfExplicit() signature.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont): Now that "inherit" and "initial" shorthands are represented by their longhands,
we need to check the string value of the "font" shorthand for being "inherit" or "initial" instead: getPropertyCSSValue() no longer works,
since the shorthand itself is no longer added to the StylePropertySet.

LayoutTests:

Expectations get fixed in some cases.

  • css3/flexbox/flex-property-parsing-expected.txt:
  • fast/css/inherit-initial-shorthand-values-expected.txt: Added.
  • fast/css/inherit-initial-shorthand-values.html: Added.
  • fast/css/parsing-text-emphasis-expected.txt:
  • fast/css/parsing-text-emphasis.html:
4:18 AM Changeset in webkit [135847] by haraken@chromium.org
  • 30 edits in trunk/Source/WebCore

Unreviewed. Renamed TRYCATCH => V8TRYCATCH.
(I forgot to apply reviewer's comment in bug 103352 when landing r135817.)

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(ConvertToV8StringResource):

  • bindings/scripts/test/V8/V8Float64Array.cpp:

(WebCore::Float64ArrayV8Internal::fooCallback):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:

(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:

(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):

  • bindings/scripts/test/V8/V8TestEventConstructor.cpp:

(WebCore::V8TestEventConstructor::constructorCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventCallback):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:

(WebCore::TestMediaQueryListListenerV8Internal::methodCallback):

  • bindings/scripts/test/V8/V8TestNamedConstructor.cpp:

(WebCore::V8TestNamedConstructorConstructorCallback):

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

(WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::idbKeyCallback):
(WebCore::TestObjV8Internal::optionsObjectCallback):
(WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod4Callback):
(WebCore::TestObjV8Internal::overloadedMethod6Callback):
(WebCore::TestObjV8Internal::overloadedMethod7Callback):
(WebCore::TestObjV8Internal::overloadedMethod8Callback):
(WebCore::TestObjV8Internal::overloadedMethod9Callback):
(WebCore::TestObjV8Internal::overloadedMethod10Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::classMethodWithClampCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
(WebCore::TestObjV8Internal::stringArrayFunctionCallback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::TestObjV8Internal::variadicStringMethodCallback):
(WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
(WebCore::TestObjV8Internal::variadicNodeMethodCallback):

  • bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):
(WebCore::V8TestOverloadedConstructors::constructor4Callback):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/V8Binding.h:

(WebCore::toV8Sequence):

  • bindings/v8/V8BindingMacros.h:
  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallbackCustom):

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::evaluateCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::addCallback):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):

  • bindings/v8/custom/V8IntentCustom.cpp:

(WebCore::V8Intent::constructorCallbackCustom):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

(WebCore::V8SQLTransactionSync::executeSqlCallback):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::V8WebGLRenderingContext::getExtensionCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::V8WorkerContext::importScriptsCallback):

3:52 AM Changeset in webkit [135846] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] add contextForWorld helper function to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=103376

Patch by Dan Carney <dcarney@google.com> on 2012-11-27
Reviewed by Kentaro Hara.

Reducing some commonly occuring code with an inline function.

No new tests. No change in functionality.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::contextForWorld):
(WebCore):
(WebCore::ScriptController::currentWorldContext):
(WebCore::ScriptController::mainWorldContext):

  • bindings/v8/ScriptController.h:

(ScriptController):

3:41 AM Changeset in webkit [135845] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[X11] Allow empty plugin name and description during scan plugin
https://bugs.webkit.org/show_bug.cgi?id=103234

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-27
Reviewed by Simon Hausmann.

Empty entries should be allowed when split the output string of scan plugin
because the plugin name and the description can be empty string.

  • UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

3:31 AM Changeset in webkit [135844] by Csaba Osztrogonác
  • 10 edits in trunk/Source/WebKit2

Unreviewed, rolling out r135819.
http://trac.webkit.org/changeset/135819
https://bugs.webkit.org/show_bug.cgi?id=103388

It broke many tests on Qt and EFL WK2 platforms (Requested by
Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-27

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyRelatedPages):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setIsInWindow):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
3:20 AM Changeset in webkit [135843] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=103008

Patch by Kyungjin Kim <gen.kim@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

Fix API names in WKPreferences from 2d to 2D.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAccelerated2DCanvasEnabled):
(WKPreferencesGetAccelerated2DCanvasEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
3:15 AM Changeset in webkit [135842] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

[Qt] Implement the mimetype icon methods
https://bugs.webkit.org/show_bug.cgi?id=103260

Reviewed by Simon Hausmann.

  • platform/graphics/Icon.h:

(Icon):

  • platform/graphics/qt/IconQt.cpp:

(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):

3:03 AM Changeset in webkit [135841] by allan.jensen@digia.com
  • 10 edits
    1 copy
    3 adds in trunk

Incorrect rect-based hit-test result when hit-test region includes culled inlines
https://bugs.webkit.org/show_bug.cgi?id=88376

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-09-17
Reviewed by Dave Hyatt.

Source/WebCore:

Move the handling of culled inlines from HitTestResult::addNodeToRectBasedTestResult to
InlineFlowBox::nodeAtPoint. This makes it possible to fix a number of bugs with how
culled inlines were handled. They are now checked after all their children, and may
terminate area-based hit-testing if they contain the whole area.

Tests: fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html

fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html

  • rendering/HitTestResult.cpp:

(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):

  • rendering/HitTestResult.h:

(HitTestLocation):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::nodeAtPoint):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::hitTestCulledInline):

  • rendering/RenderInline.h:

(RenderInline):

LayoutTests:

Renames the existing nodesFromRect-culled-inlines.html test to nodesFromRect-inline-image.html,
because it did not test any culled inlines anymore, and replace it with two new tests that does
test culled inlines.

  • fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt: Copied from LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt.
  • fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html: Added.
  • fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt:
  • fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html:
  • fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt: Added.
  • fast/dom/nodesFromRect/nodesFromRect-inline-image.html: Added.
  • fast/dom/nodesFromRect/resources/nodesFromRect.js:

(checkRect):
(nodesFromRectAsString):

2:37 AM Changeset in webkit [135840] by tkent@chromium.org
  • 14 edits
    35 deletes in trunk/LayoutTests

Reduce the number of pixel tests for date/time input types
https://bugs.webkit.org/show_bug.cgi?id=103373

Reviewed by Kentaro Hara.

Merge fast/forms/<type>/<type>-appearance-style.html and
<type>-appearance-disabled-readonly.html into
<type>-appearance-basic.html, and add tests for font-weight, height, and
-webkit-appearance:none.

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • fast/forms/date/date-appearance-style-expected.txt: Removed.
  • fast/forms/date/date-appearance-style.html: Removed.
  • fast/forms/month/month-appearance-basic-expected.txt:
  • fast/forms/month/month-appearance-basic.html:
  • fast/forms/month/month-appearance-style-expected.txt: Removed.
  • fast/forms/month/month-appearance-style.html: Removed.
  • fast/forms/time/time-appearance-basic-expected.txt:
  • fast/forms/time/time-appearance-basic.html:
  • fast/forms/time/time-appearance-disabled-readonly-expected.txt: Removed.
  • fast/forms/time/time-appearance-disabled-readonly.html: Removed.
  • fast/forms/time/time-appearance-style-expected.txt: Removed.
  • fast/forms/time/time-appearance-style.html: Removed.
  • fast/forms/week/week-appearance-basic-expected.txt:
  • fast/forms/week/week-appearance-basic.html:
  • fast/forms/week/week-appearance-style-expected.txt: Removed.
  • fast/forms/week/week-appearance-style.html: Removed.
  • platform/chromium-linux/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-linux/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-win/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium/TestExpectations:
2:27 AM Changeset in webkit [135839] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(134887) [Qt][EFL][WK2] Repaint counter not working
https://bugs.webkit.org/show_bug.cgi?id=103261

Reviewed by Noam Rosenthal.

Fixed regression introduced in 134887, which introduced the
updateContentsNoSwizzle method and called it directly from
the repaint counter.

This method obviously needs to bind the texture.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContentsNoSwizzle):

2:05 AM Changeset in webkit [135838] by tkent@chromium.org
  • 5 edits in trunk/LayoutTests

A followup of r135836
https://bugs.webkit.org/show_bug.cgi?id=102861

I landed an old revision of the patch in r135836.

  • fast/forms/ValidityState-001.html:
  • fast/forms/number/number-validity-badinput-expected.txt:
  • fast/forms/number/number-validity-badinput.html:
  • fast/forms/resources/multiple-fields-validity-badinput.js:

(testBadInput):

1:40 AM Changeset in webkit [135837] by Csaba Osztrogonác
  • 40 edits
    1 delete in trunk/Source

Unreviewed, rolling out r135786.
http://trac.webkit.org/changeset/135786
https://bugs.webkit.org/show_bug.cgi?id=103379

It made 3 plugin tests timeout on several platforms (Requested
by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-11-27

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/FrameLoadRequest.cpp: Removed.
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(FrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load):

  • loader/FrameLoader.h:

(FrameLoader):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

  • plugins/PluginView.cpp:

(WebCore::PluginView::performRequest):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_uri_set):
(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

  • Plugins/WebPluginController.mm:
  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::setHtml):
(QWebFrame::setContent):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setAlternateHtml):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callErrorPageExtension):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::load):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

  • WebView.cpp:

(WebView::load):

Source/WebKit/wx:

  • WebFrame.cpp:

(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::linkClicked):

1:26 AM WebKitGTK/WebKit2Roadmap edited by zandobersek@gmail.com
Add the isolated worlds API as a todo target for WebKitGTK+ 2.0 (diff)
1:09 AM Changeset in webkit [135836] by tkent@chromium.org
  • 25 edits
    1 move
    14 adds
    1 delete in trunk

Implement ValidityState::badInput
https://bugs.webkit.org/show_bug.cgi?id=102861

Reviewed by Hajime Morita.

Source/WebCore:

Add ValidityState::badInput, add hasBadInput, which always returns
false, to FormAssociatedElement, HTMLInputElement, and InputType.

For NumberInputType, we had hasUnacceptableValue, which was a hack to
make an input element match to :invalid if the element had non-number
strings. We don't need the hack any more because badInput affects :invalid
style. hasUnacceptableValue is re-used for hasBadInput implementation.
We cleared invalid numbers when elements lost focus to tell users that
the element had invalid numbers. We don't need this behavior because the
interactive validation tells it.

For date/time input types, we should make an input badInput when the
input has empty value but its sub-fields have values. It covers both of
partial input cases such as 12/--/2012 and invalid dates such as
02/31/2012.

For other types, ValidityState::badInput always returns false.

This patch doesn't contain tests for badInput validation messages. They
will be added later.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html

fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html
fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html
fast/forms/number/number-validity-badinput.html
fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html
fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html

  • html/ValidityState.idl: Add badInput IDL attribute.
  • html/ValidityState.h:

(ValidityState): Add badInput.

  • html/ValidityState.cpp:

(WebCore::ValidityState::badInput):
Added. Calls FormAssociatedElement::hasBadInput.

  • html/FormAssociatedElement.h:

(FormAssociatedElement): Add hasBadInput.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::hasBadInput):
Added. It always returns false.
(WebCore::FormAssociatedElement::valid): Takes account of hasBadInput().

  • html/HTMLInputElement.h:

(HTMLInputElement):
Remove hasUnacceptableValue, and add hasBadInput override.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::hasBadInput):
Added. Delegate to InputType::hasBadInput.
(WebCore): Remove hasUnacceptableValue.

  • html/InputType.h:

(InputType): Add hasBadInput and badInputText, and remove
hasUnacceptableValue.

  • html/InputType.cpp:

(WebCore::InputType::hasBadInput): Added. Returns false.
(WebCore::InputType::badInputText):
Added. This function should not be called because hasBadInput always
returns false.
(WebCore::InputType::validationMessage):
Supports badInput. This returns badInputText if hasBadInput is true.

  • html/NumberInputType.h:

(NumberInputType): Add hasBadInput and badInputTest. Remove
handleBlurEvent and hasUnacceptableValue.

  • html/NumberInputType.cpp:

Remove handleBlurEvent, which cleared invalid number strings.
(WebCore::NumberInputType::hasBadInput):
Added. We don't need to check existence of a renderer. The standard form
validation feature doesn't care of it.
(WebCore::NumberInputType::badInputText): Returns
validationMessageBadInputForNumberText defined in LocalizedStrings.h.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):
Remove a hack for hasUnacceptableValue. isValidFormControlElement takes
account of badInput.

  • dom/Element.h: Remove hasUnacceptableValue.
  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType): Add hasBadInput and badInputText.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::badInputText):
Returns validationMessageBadInputForDateTimeText defined in LocalizedStrings.h.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::hasBadInput):
Added.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
Add setNeedsValidityCheck call. It is needed because
updateInnerTextValue can modify subfields empty state.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged): Update a comment.

  • platform/LocalizedStrings.h:

(WebCore): Add validationMessageBadInputForNumberText and
validationMessageBadInputForDateTimeText.

  • platform/LocalizedStrings.cpp:

(WebCore::validationMessageBadInputForNumberText):
Added a placeholder implementation. This should be fixed later.

  • platform/blackberry/LocalizedStringsBlackBerry.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

  • platform/qt/LocalizedStringsQt.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

Source/WebKit/chromium:

  • src/LocalizedStrings.cpp:

Add placeholder implementations for new localized string functions.
We'll update them in another patch.
(WebCore::validationMessageBadInputForNumberText):
(WebCore::validationMessageBadInputForDateTimeText):

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html: Added.
  • fast/forms/number/number-unacceptable-style-expected.txt: Removed.
  • fast/forms/number/number-validity-badinput-expected.txt: Added.
  • fast/forms/number/number-validity-badinput.html: Renamed from LayoutTests/fast/forms/number/number-unacceptable-style.html.
  • fast/forms/resources/multiple-fields-validity-badinput.js: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html: Added.
12:58 AM Changeset in webkit [135835] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark svg/animations/mpath-remove-from-dependents-on-delete-crash.html as flaky.

  • platform/chromium/TestExpectations:
12:52 AM Changeset in webkit [135834] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Cleaning up expectations, removing those that cover tests
that are now passing.

  • platform/gtk/TestExpectations:
12:49 AM Changeset in webkit [135833] by morrita@google.com
  • 6 edits in trunk/Source/WebCore

[Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
https://bugs.webkit.org/show_bug.cgi?id=103370

Reviewed by Kentaro Hara.

This chagne introduces Node::IsDocumentFragmentFlag so that we can
have fast Node::isDocumentFragment().

Note that Node::isShadowRoot() can become slightly slower when it
returns true, but that is minor in terms of the number of calls at runtime.

No new tests. No behavior change.

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::create):

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

(WebCore::Node::documentFragmentIsShadowRoot):
(WebCore):

  • dom/Node.h:

(Node):
(WebCore::Node::isDocumentFragment):
(WebCore::Node::isShadowRoot):
(WebCore::Node::parentNode):
(WebCore::Node::parentNodeGuaranteedHostFree):

  • dom/ShadowRoot.h:
12:38 AM Changeset in webkit [135832] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[style] Add a style-check for enum-member names
https://bugs.webkit.org/show_bug.cgi?id=103157

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-27
Reviewed by Daniel Bates.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_EnumState):
(_EnumState.init):
(_EnumState.process_clean_line):
(check_enum_casing):
(check_style):
(process_line):
(_process_lines):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest.test_enum_casing):
(NoNonVirtualDestructorsTest.test_internal_braces.Foo):

12:24 AM Changeset in webkit [135831] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding timeout expectations for three plugins tests timing out after r135786.

  • platform/gtk/TestExpectations:
12:21 AM Changeset in webkit [135830] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103297

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

Note: See TracTimeline for information about the timeline view.