Refactor Custom Element callback dispatching.

r164737 made HTML Imports affect the order of Custom Element
processing. This does some follow-up refactoring:

- Separates things that happen at microtask checkpoints (which
  includes HTML Import processing) and on the Custom Element
  processing stack (which doesn't do anything with HTML Imports.)

- Simplifies stuff: CustomElementCallbackQueue encapsulates its
  element again. CustomElementMicrotaskImportStep (was
  CustomElementPendingImport) no longer has a pointer to the
  import. All CustomElementMicrotaskSteps (was
  CustomElementBaseElementQueueItem) are born and die in the same
  place. Work queues are populated by the scheduler and drained by
  dispatching, there's no "remove" methods. Instead of inheritance
  (CustomElementCallbackQueue extends
  CustomElementBaseElementQueueItem), composition
  (CustomElementMicrotaskElementStep uses a
  CustomElementCallbackQueue).

- Adds some assertions about the state of imports and dispatching at
  key points.

- Removes some accumulated cruft, like
  CustomElementScheduler::scheduleInCurrentElementQueue.

BUG=313384

Review URL: https://codereview.chromium.org/133033004

git-svn-id: svn://svn.chromium.org/blink/trunk@164861 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: [Styles] Do not bring up color picker for read-only style swatches

R=aandrey, eustas, vsevik
BUG=331056

Review URL: https://codereview.chromium.org/131613003

git-svn-id: svn://svn.chromium.org/blink/trunk@164862 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Improve exception messages for CanvasRenderingContext2D

BUG=270033

Review URL: https://codereview.chromium.org/131443004

git-svn-id: svn://svn.chromium.org/blink/trunk@164863 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[imports] Clear LinkImport::m_child when the m_client is being deleted.

HTMLImportChild destructor did traverse m_clients in its destructor
and called importWillBeDestroyed(), where LinkImport deregistered itself
from HTMLImportChild, that caused modification-during-traversal problem
and hit an assertion.

This change lets LinkImport clear LinkImport::m_child when
importWillBeDestroyed() is called so that it prevents itself from
calling HTMLImportChild::removeClient() in clear().

This is common trouble for multiple-cient classes like ActiveDOMObject and
Supplementable. This fix follows the pattern which is used in
these classes.

BUG=332641
R=dglazkov,dominicc
TEST=imort-destroy-stress.html

Review URL: https://codereview.chromium.org/133513002

git-svn-id: svn://svn.chromium.org/blink/trunk@164864 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Frame is not supplied with loaderId.

BUG=331813

Review URL: https://codereview.chromium.org/131013003

git-svn-id: svn://svn.chromium.org/blink/trunk@164865 bbb929c8-8fbe-4397-9dbb-9b2b20218538